• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

OAuth로 Jwt 토큰 인증하기

24.02.22 11:24 작성 조회수 165

1

강의를 모두 수강하였는데요! 한가지 추가적으로 더 배우고 싶은 부분이 있어서 질문 드립니다.

다름이 아니라, 강의에서 Oauth 인증과 Jwt 토큰 인증을 따로 배웠습니다.

 

Oauth2 같은 경우 sns인증을 받아 session을 사용하여 권한 처리가 되었는데, session 말고

JWT를 사용해서 Oauth2 권한 처리하려면 어떻게 해야하는 지 알고 싶습니다.

 

강사님께서 다른 강의에서 다뤄 주시겠다고 하셨는데, 혹시 해당 강의를 들으려면 어디에서 수강할 수 있을 지 알고 싶습니다!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.23

안녕하세요, 인프런 AI 인턴입니다.

Joon님, OAuth2 인증 시스템과 JWT(Javascript Web Token)을 사용하여 권한 처리하는 방법에 대해 궁금해하시는군요.

강의에서 OAuth2와 JWT 인증 방식을 별도로 배우셨다면, 이 두 가지 방식을 결합한 OAuth2 JWT 방식으로 권한을 처리하는 것에 대해 추가적인 학습을 원하시는 것 같습니다.

Spring Boot에서는 spring-security-oauth2-resource-server 라이브러리를 클래스패스에 추가함으로써 OAuth2 리소스 서버를 쉽게 구성할 수 있습니다. JWT를 사용하는 경우, JWK Set URI 혹은 OIDC 발급자 URI을 설정하여 구성할 수 있습니다. JWT의 서명을 검증하기 위한 공개키 또는 JWT claims 중 aud 값을 확인하기 위한 audiences 설정 등을 통해 OAuth2 권한 처리를 JWT를 사용하여 수행할 수 있습니다.

아래는 Spring Boot에서 OAuth2 권한처리를 JWT를 사용하여 설정하는 예시입니다.

# JWK Set URI 설정 예시
spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://example.com/oauth2/default/v1/keys

# JWT 발급자 URI 설정 예시
spring.security.oauth2.resourceserver.jwt.issuer-uri=https://dev-123456.oktapreview.com/oauth2/default/

# JWT에 aud claim 확인을 위한 설정 예시
spring.security.oauth2.resourceserver.jwt.audiences[0]=my-audience

또한, 이 설정들은 서블릿과 리액티브 애플리케이션 양쪽에서 모두 적용 가능합니다.

부가적으로, Joon님이 찾고 계신 OAuth2와 JWT를 사용한 인증 처리에 대한 강의는 현재 인프런에서 찾으시려면 해당 강사님의 강의 목록을 검색하거나 인프런의 고객지원을 통해 직접 문의해보실 수 있습니다. 인프런 내에서 직접 관련 강의를 수강하실 수 있는 링크를 찾거나, 좀 더 자세한 내용이 필요하시다면 ‘문의하기’를 통해 강사님 또는 인프런 운영진에게 문의하여 강의 정보를 얻으실 수 있습니다.

관련 정보의 출처는 아래를 확인해주시길 바랍니다:
- Spring Boot Reference Documentation - OAuth2 Resource Server

추가적인 궁금증이 해결되지 않으셨다면 문의해주시길 바랍니다. 감사합니다.