공부기록/SPRING

JWT 토큰 인증

또리머 2023. 2. 19. 01:46
반응형

JWT(Jason Web Token)

jwt.io

Payload의 DATA가 작성자가 작성한대로, 위조되지 않았음을 보장하기 위해 뒤에 서명(Signature)값을 붙인다.

인증된 사용자라면 계속해서 그 서비스를 이용할 수 있도록

보통 sessionId, 쿠키를 통해 서비스를 하는데

여러 서버 또는 애플리케이션을 통해 서비스를 받도록 구성(MSA 등)했을 때

SSO

다른 서버에서 연속성 있게 사용할 수 있다

사용자에 대해 session을 이용하면 서로 공유하는 것도 쉽지 않다

Redis라거나 다른 메모리 그리드 방식을 사용해도

--> web토큰을 사용

Payload에 claim이라고 하는 key-value 데이터를 client가 가지고 있다가 요청할 때마다 토큰 전달

토큰에는?

인증에 필요한 최소한의 데이터를 넣어야 한다

비밀번호, 전화번호 등 개인정보는 안전하지 않다.

언제든 공개할 수 있는 정보를 넣는 것이 좋다.

토큰 관리는?

탈취돼서 문제되지 않도록 refresh token 관리를 신중히 해야 한다

Redis, hazlecase(메모리그리드 -> 캐싱), DB 등

 

반응형