JWT를 분석하고 사용해보자 (3/3)
개발관련/삽질
2019. 8. 13. 21:32
목차
1편 : 개념 / 개요 / 프로토콜 설명
2편 : JWT(JWS) 보안 취약점 / 준수사항 분석
3편 : 실제로 구현해보자
JWT를 데모서버를 구현한다.
사용한 라이브러리는 auth0의 java-jwt이다.
솔직히 JWT 구현할 때 배보다 배꼽이 크다.
JWT 토큰 발급은 및 검증 테스트는 1개의 클래스 파일에서 끝이다.
https://github.com/ehdvudee/jwtImpl/blob/master/src/test/java/net.glaso.jwt/generateJWT.java
해당 프로젝트는 Java Spring을 사용하여 구현하였다.
주안점은 다음과 같다.
1. RSA 알고리즘을 사용한다.
2. NIST 최소 권고 사항 암호키를 사용한다.
3. 암호키 갱신 프로세스를 확립한다.
4. 암호키 갱신 했을 때 kid 값을 통해 검증을 진행한다.
5. aud/nbf/exp를 검증한다.
6. 토큰의 유효 기간은 12시간이다.
7. jku를 지원한다.
8. scope 값을 통해 인가까지 지원한다.
해당 프로젝트에서 발급한 토큰이다.
GitHub 주소는 아래와 같다.
https://github.com/ehdvudee/jwtImpl
'개발관련 > 삽질' 카테고리의 다른 글
AJP 프로토콜 모든 것을 분석 해보자 (1) | 2019.10.28 |
---|---|
Insert Multiple - Oracle(Tibero) 포팅 삽질기 (0) | 2019.09.11 |
JWT를 분석하고 사용해보자 (2/3) (0) | 2019.08.13 |
JWT를 분석하고 사용해보자 (1/3) (0) | 2019.08.13 |
Spring REST API 엔드포인트 권한(인가) 처리 (0) | 2019.07.01 |