소개
게시글
질문&답변
2020.09.07
안녕하세요 로그인 관련해서 서버간 쿠키교환..
(사진) 크롬에서는 이게 문제인가보네요...결국 https프로토콜을 이용해야만..크롬에서는 samsite 옵션을 줄수있나봐요..
- 0
- 11
- 500
질문&답변
2020.09.07
안녕하세요 로그인 관련해서 서버간 쿠키교환..
어...이런경우는 처음인데... 크롬..만안되네요?;;; 구글링 계속하면서도 크롬이슈가 있길래 설마했는데.. 다른 브라우저들은 되네요;;
- 0
- 11
- 500
질문&답변
2020.09.07
안녕하세요 로그인 관련해서 서버간 쿠키교환..
허...주고 서버 재시작해도 왜안되는지 이유를 모르겟네요...
- 0
- 11
- 500
질문&답변
2020.09.07
안녕하세요 로그인 관련해서 서버간 쿠키교환..
아?혹시 res.cookie에서도 옵션을 같이 줘야하는걸까요?
- 0
- 11
- 500
질문&답변
2020.09.07
안녕하세요 로그인 관련해서 서버간 쿠키교환..
token이라는 쿠키는 미들웨어를 통해서 만드는 토큰입니다. const verifyToken = async (req, res, next) => { let connect, result, sql, sqlValues; let { usertoken, userhost, userid } = req.body.tokenAuth; let { token } = req.cookies; if (token) { try { req.decoded = jwt.verify(req.cookies.token, process.env.JWT_SALT) // req.decoded = jwt.verify(req.headers.authorization, process.env.JWT_SALT) return next(); } catch (err) { if (err.name === 'TokenExpiredError') { connect = await pool.getConnection(); sql = "SELECT * FROM user_token WHERE userid=? AND userhost=? AND usertoken=?"; sqlValues = [userid, userhost, usertoken]; result = await connect.execute(sql, sqlValues); if (result[0][0]) { const token = jwt.sign({ id: userid }, process.env.JWT_SALT , { expiresIn : '1m' }); res.cookie( 'token', token, { httpOnly: true } ) } connect.release(); next(); } else { connect.release(); res.status(401).json({ resultCode: 401, message: "토큰이 유효하지 않습니다." }); next(e); } } } else { try { connect = await pool.getConnection(); sql = "SELECT * FROM user_token WHERE userid=? AND userhost=? AND usertoken=?"; sqlValues = [userid, userhost, usertoken]; result = await connect.execute(sql, sqlValues); if (result[0][0]) { const token = jwt.sign({ id: userid }, process.env.JWT_SALT , { expiresIn : '1m' }); res.cookie( 'token', token, { httpOnly: true } ) } connect.release(); next(); } catch(e) { connect.release(); console.log(e); next(e); } } }
- 0
- 11
- 500