[SPRING SECURITY] JWT

승 아·2023년 8월 8일

JWT

  • JWT(토큰) 인증은 웹 애플리케이션과 서비스에서 사용자의 인증과 권한 부여를 관리하기 위한 기술

  • JWT는 JSON Web Token의 약자로, 정보를 클레임(claim)이라는 JSON 객체로 표현하고, 해당 JSON 객체를 서명하여 생성됨

  • JWT 인증은 서버가 세션 상태를 유지하지 않아도 되며, 클라이언트가 토큰을 갖고 있으면 인증 정보를 인식하고 처리할 수 있음

  • JWT에는 token 자체에 사용자의 정보가 들어있으므로 추출 가능

로그인 성공 시

  • access token(유효기간 짧음), refresh token(유효기간이 긺)을 클라이언트로 발급해줌

  • access token을 header에 넣어서 api request를 보내면, 권한에 따라 서버에서 접근할 수 있게 해줌

  • refresh token

    • 접근에 대한 권한을 가진 것이 X
    • access token 시간 만료 시 새로운 access token을 발급할 수 있게 해주는 역할
    • refresh token은 유저 정보와 함께 데이터베이스에 저장

로그아웃

  • refresh token을 삭제

참고) https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-Access-Token-Refresh-Token-%EC%9B%90%EB%A6%AC-feat-JWT

profile
개발 공부를 기록하는 공간

0개의 댓글