티스토리 뷰
문제 원인
카카오 OAuth 로그인 테스트 진행 중 오류가 발생했다.
java.lang.IllegalArgumentException: Missing attribute 'id' in attributes
loadUser 함수에서 DefaultOAuth2User를 반환할 때 해당 멤버 attributes에 "id"[attributeKey] 값이 없어서
발생한 오류였다.
오류가 발생하게 된 이유는 OAuth2 Client Attributes를 담는 모델을 커스터마이징해서 발생한 것이었다.
해결 방법
loadUser에서 DefaultOAuth2User를 반환할 때 attributes에 attributeKey 값이 반드시 포함되어 있어야한다.
아래 소스를 살펴보면 흐름에 대해 알 수 있다. (DefaultOAuth2User.java - 스프링 소스 중)
복잡한 문제는 아닌데 스프링은 매번할 수록 어렵다.
댓글