freelec-springboot2-webservice icon indicating copy to clipboard operation
freelec-springboot2-webservice copied to clipboard

[오류] 204p - 211p 네이버로그인 오류

Open viaunixue opened this issue 2 years ago • 4 comments

어떤 오류인가요?

오류설명:

네이버 로그인 설정 과정에서 자꾸 다음과 같은 화면으로 넘어갑니다. 화면 캡처 2022-09-21 163707

해당 오류가 비슷하게 나신 분 이슈도 확인해 보았는데,
네이버 연결된 서비스 관리 > 네이버 로그인/인증서 페이지로 서비스 동의 철회하고 다시 시도해보아도 다음과 같은 에러가 계속 발생합니다. 원인이 뭔 지 알 수 있을까요..

오류 로그

네이버 로그인 페이지에서 이름, 이메일주소, 프로필사진이 필수 체크목록이라 체크 유무에는 이상이 없구요. 콘솔창에는 다음과 같이 나타납니다.

화면 캡처 2022-09-21 164221

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

화면 캡처 2022-09-21 164416

프로젝트 주소

  • Github URL: https://github.com/JongHyunJung/freelec-springboot2-webservice

viaunixue avatar Sep 21 '22 07:09 viaunixue

image

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();

SeolYoungKim avatar Sep 21 '22 10:09 SeolYoungKim

그리고 하나 더 말씀드리자면, 레포에 실수로 oauth관련 설정 파일을 올리신 것 같아요. 삭제 하시는 것이 좋을 것 같습니다.

SeolYoungKim avatar Sep 21 '22 10:09 SeolYoungKim

설명 너무 감사합니다. oauth 설정파일 문제까지 빨리 수정하겠습니다. 분명 gitignore 파일에 올렸는데 이상하네요

viaunixue avatar Sep 21 '22 11:09 viaunixue

혹시 해결하셨나요? 저도 이메일 부분이 자꾸 null이라고 뜨는 오류가 발생해서요

Juuuic avatar Nov 18 '22 11:11 Juuuic