inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2 로그인 이후 통신 방법

해결된 질문

732

꾸준히하면언젠간

작성한 질문수 7

2

안녕하세요.

OAuth2 로그인 이후에 검증 방식에 대해 궁금한 점이 있어서 질문 드려봅니다.

현재 프로젝트에서 OAuth2 를 이용하여 로그인 하는 기능을 사용하고자 하여, 강사님의 강의를 통해 OAuth2 Login을 적용시켰습니다.

OAuth2 를 이용하여 회원가입을 하고, 회원가입이 완료되어 OAuth2로 로그인하면, 자체적으로 생성한 JWT Token 을 이용하여 Client 와 통신을 하는 방식으로 구현하였습니다.

API 호출 마다 JWT 토큰만으로 인증을 하고 있었는데, JWT 토큰 이후 이 유저가 OAuth2(예를들어 네이버 같은 서버)에서도 유효한 회원인 지 검증이 필요하지 않을까 생각이 들었고,

유저가 OAuth2 서버에서 유효한 회원인 지 검증 하는 부분을 만들고자 하는데, 내부적으로 이용할 수 있는 기능이 있는지 문의 드립니다.

ClientRegistration 에 user-info-uri 를 통해 유저 정보를 가져오기 때문에, 예를 들어 oauth2_authorized_client의 accessToken을 이용하여 Naver(OAuth2)에서 회원을 간단하게 조회하고 검증 작업을 진행하면 되지 않을까 해서 내부적으로 이용할 수 있는 기능이 있을 것 같아서요..

아니면 OAuth2 로그인 이후에 검증 방식에 대해서 제가 잘못 이해한 부분이 있다면 말씀 부탁 드리겠습니다

감사합니다.

oauth spring-boot java spring

답변 1

2

정수원

OAuth2로 로그인하고, 자체적으로 생성한 JWT Token 을 사용해서 인증상태를 유지하는 것이라면 굳이 네이버나 카카오 등에서 OAuth2 유저의 유효성을 별도로 체크할 필요는 없을 것 같습니다.

OAuth2 의 역할은 사용자를 대신해서 클라이언트가 사용자의 리소스를 참조하도록 권한을 부여하는 역할까지이고 그 이후에 인증상태를 유지하는 부분은 세션을 활용하거나 JWT 를 활용해서 처리하면 되는 문제입니다.

즉 JWT 에 대한 유효성 체크에만 신경쓰시면 됩니다.

다만 JWT 가 만료되어 더 이상 사용할 수 없을 경우 다시 OAuth2 토큰을 발급받아 로그인 처리하는 부분은 계속 체크가 필요합니다.

OAuth2 는 클라이언트 입장에서 사용자가 간편하게 로그인 처리를 하기 위해 대신해서 인가서버로부터 권한을 부여 받게 하는 것이 가장 큰 목적이지 계속해서 클라이언트가 인가서버와의 사용자의 상태에 대한 체크를 할 필요는 없습니다.

0

꾸준히하면언젠간

말씀 감사합니다!

다만 `JWT 가 만료되어 더 이상 사용할 수 없을 경우 다시 OAuth2 토큰을 발급받아 로그인 처리하는 부분` 에 대해서 궁금한 점이 있습니다.

자체적으로 생성한 JWT Token 이어서 JWT가 만료될 경우 Refresh Token 을 이용하여, JWT 를 자체적으로 갱신하는 방식으로 진행하려 하는데, 이 때 OAuth2 토큰을 발급 하는 부분에 대해 잘 모르겠습니다.

자체적으로 생성 한 JWT를 갱신할 때, oauth2_authorized_client 에 존재하는 OAuth2 AccessToken 의 갱신이 필요하다는 말씀이실까요 ?

authorization-server 라이브러리 질문이 있습니다.

0

78

1

loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생

0

79

2

JWT 조회 에 대한 질문

0

75

1

password grant 방식 에러 응답

0

91

3

FormLoginConfigure에서 생성하는 필터

0

79

2

현업에서 springboot를 3.5.5 를 사용해서 공부중인데...

0

287

2

Jdbc 관련 강의 및 깃헙 문의

0

78

1

OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문

0

209

1

UserInfo 엔드포인트 요청 실습

0

75

1

RFC 문서에서의 AccessToken 발급 방식 궁금한점

0

151

1

강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요

0

140

2

OIDC SSO 관련 질문 입니다.

0

131

1

AuthenticationEntryPoint 강의 누락 문의

0

123

1

cors설정방법

0

116

1

jwt decoder 토큰 검증 시 질문

0

222

1

클라이언트에서 userinfo 엔드포인트 호출 시 질문

0

187

2

JOSE 구성요소의 api에 관한 질문

0

141

2

스프링 부트 3버전으로 따라가시는 분들 참고하세요

1

532

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

146

2

AuthenticationManager 생성시점

0

118

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

128

1

postman userinfo 엔드포인트 질문

0

136

2

강의 수강신청하고 듣기 전입니다 질문있습니다.

0

115

1

인증 코드를 통해 발급 받은 토큰의 관리

0

200

1