인프런 커뮤니티 질문&답변

비오님의 프로필 이미지
비오

작성한 질문수

스프링 시큐리티 OAuth2

OAuth2 로그인 구현 - Oauth 2.0 User 모델 소개(2)

26:30 경에 userinfo 분기가 강사님과 다릅니다.

작성

·

299

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

OicdUserService의 아래 메서드에서 true를 반환해버리는데요.
우선 해당 함수의 if(authroization_code 이냐?) 분기를 타고,
accessibleScopes가 empty 가 아닙니다. 아마 키클록에서 default 스코프가 있기 때문인거 같은데요.

shouldRetrieveUserInfo

 

해당 영상에서는 키클록의 default 스코프가 빠진걸까요?

아니면 grant type 문제일까요?

참고로 grant type 은 별다른 옵션 없이도, registration repository에서 꺼내오는 순간 registration에는 authroization_code 입니다.

 

답변 1

0

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

비오님, 스프링 시큐리티 OAuth2 관련 질문을 주셨군요.

shouldRetrieveUserInfo 메서드가 true를 반환하는 상황에 대해 궁금하신 것 같습니다. 이 메서드가 true를 반환한다는 것은 사용자 정보를 가져오는 과정에서 필요한 조건을 충족했다는 의미로, 이 경우 accessibleScopes가 비어있지 않다는 점에 주목할 필요가 있습니다.

강의에서 사용된 키클록(Keycloak) 설정에 기본 스코프가 포함되어 있지 않았을 가능성이 있으나, 이는 강의 콘텐츠와 환경 설정을 확인해보아야 할 사항입니다.

또한, grant type 문제의 경우, registration에서 authorization_code가 기본값으로 설정되어 있는 것이 확인 됩니다. 이는 스프링 시큐리티 OAuth2 클라이언트 설정에서 일반적으로 사용되는 방식입니다.

정확한 원인을 파악하려면 강의 시점의 스프링 시큐리티와 키클록의 설정을 확인해 볼 필요가 있습니다. 스프링 시큐리티 OAuth2의 클라이언트 구성에 대한 상세 정보는 아래 문서에서 참고하실 수 있습니다.

참고 문서: Spring Boot Reference Documentation - OAuth2 Client

감사합니다.

비오님의 프로필 이미지
비오

작성한 질문수

질문하기