세션
1. 사용자는 id, password 정보와 함께 signIn 요청을 서버에 보냄
2. 서버에서 해당 사용자에 대한 session 생성 및 저장, 응답으로 cookie에 session id 전달
3. 사용자는 요청마다 쿠키 session id를 전달해서 애플리케이션 자원 접근에 대한 권한을 요청한다. (인가)
4. 서버는 사용자가 전달한 쿠키의 session 정보와 데이터베이스에 저장된 session 비교한다. 인가 성공/실패 여부를 사용자에 전달하여 응답한다.
토큰
1. 사용자는 id, password 정보와 함께 서버에 signIn 요청을 보낸다.
2. 서버는 토큰을 생성하고, 서버가 가지고 있는 secret key로 서명한다. 서버는 토큰으로 응답한다.
3. 사용자는 요청마다 토큰을 전달하여 자원 접근을 요청한다. (인가)
4. 서버는 사용자가 전달한 토큰의 서명(signature)을 서버가 가지고 있는 secret key로 풀어서(Token Decryption 알고리즘 사용) 사용자 정보를 확인하여 인가 여부를 체크한다. 서버는 인가 성공/실패 여부로 응답한다.
https://www.javainuse.com/jwtgenerator
Online JWT Generator | JavaInUse
Online JWT Generator <!-- Copy everything below and paste where you want the ad to appear. --> JWT stands for JSON Web Token. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting
www.javainuse.com
JWT Online Token Generator를 이용해서 JWT Token을 생성할 수 있다.
토큰 생성 후 해시 알고리즘으로 서명을 한다.
https://www.javainuse.com/decodeJWT
[Spring] 테스트 코드 작성 (0) | 2022.02.24 |
---|---|
[Spring] 응답 문자열 한글 깨짐 문제 해결 (0) | 2022.02.16 |
[Spring] Android, Spring 연동 (retrofit2) (1) | 2022.01.24 |
[Spring] Spring, MongoDB 연동 (Spring Data MongoDB) (0) | 2022.01.20 |
[spring] Spring MVC: Model Interface, RequestParam Annotation, Spring MVC form (0) | 2022.01.19 |