inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2 로그인 구현 - UserInfo 엔드포인트 요청하기

UserInfo 엔드포인트 요청 실습

72

kkkkkk

작성한 질문수 42

0

scope 을 openId 하나만 설정하더라도
OidcUserService의 loadUser() 함수 안의

분기문에서 DefaultOAuth2UserService 를 계속 호출하길래 확인해보니

 

keycloak 에서
"scope": "openid profile email"

형태로 리턴이 와서

항상 if 문에 걸리네요

 

keycloak 정책이 바뀐건지는 몰라도

내부적으로 저절로 추가하는 거 같습니다

버전도 강의와 동일한 19.0.1 버전입니다

java spring spring-boot oauth

답변 1

0

인프런 AI 인턴

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

ckstj8027님께서 직면한 문제는 Keycloak에서의 스코프 처리 방식과 관련이 있습니다. 주어진 강의에서는 특정 스코프 설정에 따라 동작이 다르게 보일 수 있습니다. 특히, Keycloak의 정책이나 버전 업데이트로 인해 기본적으로 포함되는 스코프가 추가될 수 있습니다.

Keycloak에서 사용자 정보(userinfo) 엔드포인트를 요청할 때, scope="openid profile email" 형태로 리턴된다는 점을 고려해 다음과 같은 점들을 확인해보세요:

  1. Keycloak 설정: Keycloak의 클라이언트 설정에서 기본 스코프(Default Scope)에 profileemail이 포함되어 있는지 확인해야 합니다. 만약 포함되어 있다면, 클라이언트 요청에서 scope를 추가하지 않더라도 자동으로 포함될 수 있습니다.

  2. Spring Security 설정: OidcUserServiceloadUser() 호출 시 DefaultOAuth2UserService가 호출되는 경우는 여러 스코프를 처리하기 위해 Spring Security 내부에서 적절한 서비스가 사용되는 과정일 수 있습니다. 이 부분은 오작동이 아닌 정상적인 흐름일 수 있습니다.

  3. 버전 차이: Keycloak의 특정 버전이나 Spring Security의 변화로 인해 강의와 코드가 다르게 동작할 수 있습니다. 최신 버전의 문서나 Keycloak 릴리즈 노트를 참고하세요.

이를 바탕으로 문제 해결을 시도해 보시기 바랍니다. 관련하여 자세한 정보나 프로세스가 필요하다면 다음 URL에서 유사한 사례들을 확인할 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

74

1

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

0

74

2

JWT 조회 에 대한 질문

0

69

1

password grant 방식 에러 응답

0

85

3

FormLoginConfigure에서 생성하는 필터

0

75

2

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

0

282

2

Jdbc 관련 강의 및 깃헙 문의

0

75

1

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

0

207

1

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

0

148

1

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

0

136

2

OIDC SSO 관련 질문 입니다.

0

129

1

AuthenticationEntryPoint 강의 누락 문의

0

120

1

cors설정방법

0

115

1

jwt decoder 토큰 검증 시 질문

0

218

1

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

0

183

2

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

0

138

2

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

1

524

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

144

2

AuthenticationManager 생성시점

0

116

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

125

1

postman userinfo 엔드포인트 질문

0

130

2

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

0

113

1

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

0

198

1

SPA의 로그인 페이지 사용하면서 자체 인가 서버 구성하는 법

0

250

1