1. 토큰 기반 인증
- 사용자 인증 방식은 세션기반 인증방식과 토큰기반 인증방식이 존재한다.
- 토큰기반 인증방식 : 서버에서 토큰을 생성하여 사용자에게 토큰을 제공해 사용자를 인증하는 방식
무상태성, 확장성, 무결성의 특징을 가짐.
2. JWT
- Json Web Token
- 사용자를 인증하고 식별하기 위한 토큰기반 인증기술
- 사용자의 인증 정보와 Server에서 발급되었음을 증명하는 서명이 포함된 암호문을 Client에서 저장 관리
- 크게 헤더(header), 내용(payload), 서명(signature)으로 구성
- 헤더 : 토큰 타입과 해싱 알고리즘 정보
내용 : 클레임(Claim)이라고 하는 토큰 정보
서명 : 무결성을 위한 비밀키
3. Access/Refresh Token
JWT는 보안성을 향상하기 위해 Access 토큰과 Refresh 토큰을 운영
Access 토큰 : 짧은 유효기간을 갖고 API에 대한 인증 및 권한 검증에 사용
Refresh 토큰 : 만료된 Access 토큰을 갱신하는 목적으로 긴 유효기간을 가짐
[실습] 토큰 기반 인증 방식 실습
https://acte.ltd/utils/randomkeygen
Random key generator | ACTE Technology
Password and secured key generator.
acte.ltd
라이브러리 dependency 추가
https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-api/0.11.5
https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-impl/0.11.5
https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-jackson/0.11.5
JWT.IO
JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
jwt.io