작성
·
304
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
감사합니다.