Posts
Q&A
methods, statics ์ฐจ์ด
์๊ธฐ์ฝ๊ฒ ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
- 14
- 3
- 412
Q&A
์ง๋ฌธ์์ต๋๋ค.
์ bcrypt.compare์์ if(!err)๋ผ๊ณ ํ๋ค์... err๋ผ๊ณ ํด์ผ๋๋๋ฐ ํด๊ฒฐํ์ต๋๋ค.
- 0
- 3
- 232
Q&A
์ง๋ฌธ์์ต๋๋ค.
๋ค๋ฅธ๊ฐ์ ์ค๋ false๊ฐ ๋จ๋ค์..
- 0
- 3
- 232
Q&A
ssh ์ง๋ฌธ์ด์
์ https๋ ssh ๋ฐฉ์ 2๊ฐ์ง๊ฐ ์๊ตฐ์. ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค!
- 4
- 3
- 339
Q&A
2:55 ์ฏค์ ์ง๋ฌธ์์ต๋๋ค.
req.login(async(user, loginErr) => {}) ์ด๋ ๊ฒ๋ ์๋๋์??
- 0
- 3
- 221
Q&A
์ง๋ฌธ์์ต๋๋ค.
์ ๊ทธ๋์ https๋ฅผ ์ ์ฉํ๋ ๊ฑฐ๊ตฐ์.... ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค
- 0
- 2
- 180
Q&A
์๋ฌ ์ง๋ฌธ์์ต๋๋ค.
๋ฆฌ๋์์์์ me: action.data๋ฅผ ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์๋ค์ด ์ค๋ ๊ฒ ๊ฐ์ต๋๋ค. dummy๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด ์ ์๋ํ๋๋ฐ....... ์ฝ๋ ๋๊ฐ์ด ์ณค๋๋ฐ ์ด๋ ๋ถ๋ถ์ด ์๋ชป๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค์..
- 0
- 5
- 287
Q&A
์๋ฌ ์ง๋ฌธ์์ต๋๋ค.
routes/user.js ์ฝ๋ const express = require("express"); const db = require("../models"); const bcrypt = require("bcrypt"); const passport = require("passport"); const Router = express.Router(); Router.get("/", (req, res) => {}); Router.post("/", async (req, res, next) => { try { const exUser = await db.User.findOne({ where: { userId: req.body.userId } }); if (exUser) { return res.status(403).send("์ด๋ฏธ ์ฌ์ฉ ์ค์ธ ์์ด๋์ ๋๋ค."); } const hashedPassword = await bcrypt.hash(req.body.password, 12); const newUser = db.User.create({ userId: req.body.userId, nickname: req.body.nickname, password: hashedPassword }); console.log(newUser); return res.status(200).json(newUser); } catch (e) { console.error(e); return next(e); } }); Router.post("/logout", (req, res) => { req.logout(); req.session.destroy(); res.send("๋ก๊ทธ์์ ์ฑ๊ณต"); }); Router.post("/login", (req, res, next) => { // POST /api/user/login passport.authenticate("local", (err, user, info) => { if (err) { console.error(err); return next(err); } if (info) { return res.status(401).send(info.reason); } return req.login(user, async loginErr => { try { if (loginErr) { return next(loginErr); } const fullUser = await db.User.findOne({ where: { id: user.id }, include: [ { model: db.Post, as: "Posts", attributes: ["id"] }, { model: db.User, as: "Followings", attributes: ["id"] }, { model: db.User, as: "Followers", attributes: ["id"] } ], attributes: ["id", "nickname", "userId"] }); console.log(fullUser); return res.json(fullUser); } catch (e) { next(e); } }); })(req, res, next); }); module.exports = Router; passport/index.js ์ฝ๋์ ๋๋ค. const passport = require("passport"); const db = require("../models"); const local = require("./local"); module.exports = () => { passport.serializeUser((user, done) => { return done(null, user.id); }); passport.deserializeUser(async (id, done) => { try { const user = await db.User.findOne({ where: { id }, include: [ { model: db.Post, as: "Posts", attributes: ["id"] }, { model: db.User, as: "Followings", attributes: ["id"] }, { model: db.User, as: "Followers", attributes: ["id"] } ] }); return done(null, user); // req.user } catch (e) { console.error(e); return done(e); } }); local(); }; ์ด๋๊ฐ ์๋ชป๋๊ฑธ๊น์?? ๊นํ์์ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๋๋ฐ๋ ๋๊ฐ์ด ์๋ฌ๊ฐ ๋น๋๋ค... ์ฐพ์๋ณด๋ คํด๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค...
- 0
- 5
- 287
Q&A
์ง๋ฌธ์์ต๋๋ค.
์... ๊ทธ๋ผ ์ ๊ฑธ ์จ์ฃผ๋ฉด ๊ฐ์ ํ ์๋๋ก๊ทธ์ธ ๋๋ ๊ทธ๋ฐ๊ฑด๊ฐ์??
- 0
- 3
- 202
Q&A
์ง๋ฌธ์์ต๋๋ค.
๋ต. ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 151