Skip to content

Commit 8facb84

Browse files
committed
fix(router): fix sign-in multiple times issue
1 parent 6e19a84 commit 8facb84

File tree

1 file changed

+13
-41
lines changed

1 file changed

+13
-41
lines changed

routes/auth.js

+13-41
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ router.get("/sign-up", (req,res)=> {
1515
});
1616

1717
router.get("/sign-in", (req,res)=> {
18+
//if already logged in
19+
if (req.isAuthenticated()) {
20+
return res.location(req.get("Referrer") || "/");
21+
}
22+
1823
res.render('sign-in');
1924
});
2025

@@ -28,7 +33,6 @@ router.get('/sign-out', (req, res) => {
2833
//post
2934
router.post("/sign-in", (req, res, next) => {
3035
passport.authenticate('local', (err, user, info) => {
31-
3236
if (err) {
3337
return res.status(500).json({ message: "Internal Server Error" });
3438
}
@@ -46,58 +50,26 @@ router.post("/sign-in", (req, res, next) => {
4650

4751
router.post("/register", async (req,res)=>{
4852

49-
if(req.body.isEncrypted){
50-
const PRIVATE_KEY = process.env.REGISTER_SECRET;
53+
let data = req.body.data;
5154

52-
const PEM = "-----BEGIN PRIVATE KEY-----\n" + PRIVATE_KEY + "\n-----END PRIVATE KEY-----";
53-
54-
const key = crypto.createPrivateKey({
55-
key: PEM,
56-
format: 'pem',
57-
type: 'pkcs8',
58-
});
59-
60-
let decrypted = crypto.privateDecrypt(
61-
{
62-
key: key,
63-
oaepHash: "sha256",
64-
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
65-
},
66-
Buffer.from(req.body.data, 'base64')
67-
);
68-
69-
decrypted = decrypted.toString('utf8');
70-
71-
req.body = JSON.parse(decrypted);
72-
} else {
73-
req.body = req.body.data;
74-
}
75-
76-
77-
78-
const { error } = userSchema.registerSchema.validate(req.body);
55+
const { error } = userSchema.registerSchema.validate(data);
7956
if(error) {
8057
return res.status(400).json({ message: error.details[0].message });
8158
}
8259

8360
// id 중복 확인 ( mongoose)
84-
const user = await User.findOne({id: req.body.id});
61+
const user = await User.findOne({id: data.id});
8562
if(user) {
8663
return res.status(409).json({ message: "이미 존재하는 아이디입니다." });
8764
}
88-
8965
//trim
90-
req.body.id = req.body.id.trim();
91-
req.body.name = req.body.name.trim();
92-
93-
94-
95-
66+
data.id = data.id.trim();
67+
data.name = data.name.trim();
9668

97-
const password = bcrypt.hashSync(req.body.password, 10);
69+
const password = bcrypt.hashSync(data.password, 10);
9870
User.create({
99-
id: req.body.id,
100-
name: req.body.name,
71+
id: data.id,
72+
name: data.name,
10173
password: password
10274
})
10375
.then(user=> {

0 commit comments

Comments
 (0)