[Node.js] 로그인, 인증 기능 with JWT(2)

Hyun·2023년 8월 8일
0

nodejs

목록 보기
6/19

이제 직접 실습을 해봅시다.

1. 간단한 인증 시스템 구현

필요한 모듈
1) dotenv : 환경 변수 생성을 위한 모듈
2) express
3) jsonwebtoken : 토큰 생성을 위한 모듈
4) nodemon

1) Express 코드 작성

2) 토큰 생성

3) Postman 결과

2. 토큰을 이용해 요청 보내기

1) POSTMAN - 토큰X

1) POSTMAN - 토큰O

3. Refresh Token 생성

현재 accessToken 하나 있으면 계속 인증이 필요한 요청이 가능
로그인을 한번 더 해서 토큰을 받아도 그 이전 토큰이 유효한 문제
=> 토큰에게 수명을 주자!
1. 유효시간이 너무 짧으면?
=> 자동으로 로그아웃 돼서 너무 자주 로그인을 다시 해야 함

2. 유효시간이 너무 길면?
=> 토큰에 유효시간을 주는 이유가 사라짐, 토큰 탈취되면 긴 유효시간이 끝날때까지 계속 사용 가능

1) Refresh Token

RefreshTokeneh accessToken처럼 jwt를 이용해서 발급 가능 하며, 주로 accessToken의 유효시간은 짧게, refreshToken의 유효시간은 길게 설정한다.
accessToken의 유효시간이 다 지나면 refreshToken을 이용해서 새로운 accessToken을 발급해준다.

2) Refresh Token 생성

3) Refresh Token로 AccessToken 생성

cookie-parser 모듈 필요!

0개의 댓글