freelec-springboot2-webservice
freelec-springboot2-webservice copied to clipboard
[오류] 204p - 211p 네이버로그인 오류
어떤 오류인가요?
오류설명:
네이버 로그인 설정 과정에서 자꾸 다음과 같은 화면으로 넘어갑니다.
해당 오류가 비슷하게 나신 분 이슈도 확인해 보았는데,
네이버 연결된 서비스 관리 > 네이버 로그인/인증서 페이지로 서비스 동의 철회하고 다시 시도해보아도 다음과 같은 에러가
계속 발생합니다. 원인이 뭔 지 알 수 있을까요..
오류 로그
네이버 로그인 페이지에서 이름, 이메일주소, 프로필사진이 필수 체크목록이라 체크 유무에는 이상이 없구요. 콘솔창에는 다음과 같이 나타납니다.

아래 CustomOAuth2UserService.java 코드를 보면 확실히 이메일 데이터 삽입에 문제가 있는 거 같은데 원인을 찾기 어렵네요.

프로젝트 주소
- Github URL: https://github.com/JongHyunJung/freelec-springboot2-webservice
CustomOAuth2UserService 의 37번과 48번을 보시면 코드가 중복됩니다.
해당 문제가 발생한 이유는 아래와 같습니다.
OAuthAttributes.java의 로직 자체가 registrationId가 naver면 naverOf가 수행되고, 다른 registrationId일 경우 google로 판단되어 google.of를 수행합니다.
그래서 구글의 경우 로그인이 잘 되지만, naver는 제대로된 처리를 받지 못해 email값을 추출해내지 못해 null인 상태입니다.
그래서 User 엔티티 필드의 email에 붙은 애노테이션인, @Column(nullable = false)
가 에러를 일으키는 것 같아요.
registrationId를 빼오는 로직은 아래와 같습니다.
String registrationId = userRequest
.getClientRegistration()
.getRegistrationId();
그리고 하나 더 말씀드리자면, 레포에 실수로 oauth관련 설정 파일을 올리신 것 같아요. 삭제 하시는 것이 좋을 것 같습니다.
설명 너무 감사합니다. oauth 설정파일 문제까지 빨리 수정하겠습니다. 분명 gitignore 파일에 올렸는데 이상하네요
혹시 해결하셨나요? 저도 이메일 부분이 자꾸 null이라고 뜨는 오류가 발생해서요