-
로그인 구현 시 session id 삽입error handling/Simple tips 2020. 6. 25. 17:48
보통 로그인이 성공하면 서버에 있는 session에 새로운 아이디를 심어주어 다음 로그인 시 활용하게 된다.
이 때, id라는 변수를 그대로 사용하면 기존에 있던 id값이 중복되기 때문에
userid 등 다른 변수를 사용해서 심어주어야 한다.
signInController: (req, res) => { //TODO : 로그인 및 인증 부여 로직 작성 user .findOne({ where: { email: req.body.email, password: req.body.password } }) .then(result => { console.log(JSON.stringify(result)) //여기서 result 는 아래와 같다. //{"id":1,"email":"rnjsdhdus93@gmail.com","password":"1234","username":"권오연","mobile":"010-0000-0000","createdAt":"2020-06-24T14:52:28.154Z","updatedAt":"2020-06-24T14:52:28.154Z"} console.log(JSON.stringify(req.session)) //여기서 req.session은 아래와 같고 //{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"}} //req.session.id는 "7NmTJVB7JfQ_HOv9mXDGlDAztjz8GcBw" 요런 식으로 따로 저장이 된다. //즉 id 값이 이미 존재한다는 의미이기 때문에 다른 변수로 userid라는 key를 추가해줘서 1이라는 id 값을 추가해준다. if(result){ //*session에 id가 아니라 userid를 이렇게 추가해줘야한다고... */ req.session.userid = result.id res.status(200).send(result) } else { res.status(404).send('unvalid user') } }) .catch(err => { res.status(500).send(''); }) }
이 전에 주의사항은 session을 활용하기 위해서는 express 서버를 사용한다면 express-session을 설치해야한다는 것!
명령어
npm install --save express-session
메인 js파일에 적어주어야 하는 코드는 다음과 같다.
const session = require('express-session'); app.use( session({ secret: '@somethingsecret', resave: false, saveUninitialized: true }) );
'error handling > Simple tips' 카테고리의 다른 글
firestore 경로 설정 (0) 2022.09.07 firebase 에 이미지 저장하기 (0) 2022.08.02 office hour에서 나온 질문 정리 (testcase / third-party API) (0) 2020.07.03 [github] commit 기록을 터미널에서 보는 방법 (0) 2020.07.02 서버와 클라이언트의 연결 상관 관계 ( + body-parser module) (0) 2020.06.25