inflearn logo
Khóa học

Khóa học

Chia sẻ kiến thức

Bài viết của jmch09220140

jmch09220140 jmch09220140

@jmch09220140

Số lượng đánh giá đã viết
-
Xếp hạng trung bình
-

Bài viết 20

Hỏi & Đáp

안녕하세요 로그인 관련해서 서버간 쿠키교환..

어...이런경우는 처음인데... 크롬..만안되네요?;;; 구글링 계속하면서도 크롬이슈가 있길래 설마했는데.. 다른 브라우저들은 되네요;;

Lượt thích
0
Số bình luận
11
Lượt xem
769

Hỏi & Đáp

안녕하세요 로그인 관련해서 서버간 쿠키교환..

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 ); } } }

Lượt thích
0
Số bình luận
11
Lượt xem
769