본문 바로가기

TIL

내일배움캠프 4기_Node숙련 27일차 TIL

728x90

내일배움캠프 4기_Node숙련 27일차 TIL


https://pangeei-h.tistory.com/entry/Nodejs-%EC%88%99%EB%A0%A8-1%EC%A3%BC%EC%B0%A83

 

Node.js 숙련 1주차_3

Node.js 숙련 1주차_3 Middle Ware 웹 서버의 요청/응답에 대해 공통적으로 관리 📄 app.js app.use(express.json()); // post, put 전달된 body데이터를 req.body로 사용할 수 있도록 만든 bodyparser app.use((req, res, next) =>

pangeei-h.tistory.com

https://pangeei-h.tistory.com/entry/Nodejs-%EC%88%99%EB%A0%A8-1%EC%A3%BC%EC%B0%A84

 

Node.js 숙련 1주차_4

Node.js 숙련 1주차_4 로그인 & JWT 구현 📄 app.js const jwt = require("jsonwebtoken"); // 로그인 router.post("/auth", async(req,res) => { const {email, password} = req.body; const user = await User.findOne({email}); // 사용자가 존재하

pangeei-h.tistory.com

https://pangeei-h.tistory.com/entry/%EC%BD%94%EB%94%A9-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%97%B0%EC%8A%B5-20%EC%9D%BC

 

코딩 테스트 연습 20일

코딩 테스트 연습 20일 프로그래머스, 안전지대 📄 나의 코드 board = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0]] def solution(board): x = [] y = [] for i in range(len(board)): for j in range(le

pangeei-h.tistory.com


accessToken & refreshToken

 

1. 로그인 성공하면, 두개의 토큰을 발급한다.

  Access Token Refresh Token
저장소 Client(header, Cookie) 세션, mySQL, DB
만료 시간(exp) 보통 refreshToken보다 짧음 보통 accessToken보다 김

2. 클라이언트에서 인가가 필요한 데이터를 요청할 때, accessToken을 확인하고 만료 되었을 경우, 만료되었다는 응답을 보낸다.

3. 클라이언트에서는 refreshToken을 보매면서 새로운 accessToken을 요청한다.

4. 이때, 서버가 가지고 있는 refreshToken 데이터와 비교해 일치하고 만료되지 않았다면, 새로운 accessToken을 발급하고 원래의 응답을 수행한다.


JWT를 이해하려고 애썼다.

 

두 번째 미니프로젝트 때 내가 구현한 Token은 access Token 이었다.

토큰을 굳이 2개 발급받아 사용하는 이유는 보안때문인 것으로 추정된다.

아무래도 보안이 중요하니깐!

만료 시간은 설정하기 나름이지만, 보통 DB에 저장되는 Token 만료기간을 더 길게 설정하는 것 같다.