1. 네이버 API 등록하기
https://developers.naver.com/apps/#/register?api=nvlogin
- 서비스 URL (필수)
- Callback URL은 구글에서 등록한 리디렉션 URL과 같은 역할
- 등록을 마치면 ClientID와 ClientSecret이 생성됨.
- 해당 키값을 application-oauth.properties에 등록하기
- 네이버는 스프링 시큐리티를 공식 지원하지 않으므로 수동 입력 필요
user-name-attribute=response
- 기준이 되는 user_name의 이름을 네이버에서는 response로 해줘야함
- 이유는 네이버의 회원 조회 시 반횐되는 JSON의 형태 때문
- 스프링 시큐리티에서는 하위필드를 명시할수없음
- 최상위 필드만 user_name으로 지정이 가능한데 네이버의 응답값 최상위 필드는
resultCode, message, response임
따라서 이중에 시큐리티가 인식 가능한 필드를 골라야 하는데 response를 user_name으로 지정하고,
이후 자바 코드로 response의 id를 user_name으로 지정
1. 스프링 시큐리티 설정 등록
- OauthAttributes에 네이버인지 판단하는 코드와 네이버 생성자만 추가해주기
2. index.mustache에 네이버 로그인 버튼 추가
/oauth2/authorization/naver
- 네이버 로그인 URL은 application-oauth.properties에 등록한 redirect-uri값에 맞춰 자동으로 등록
- /oauth2/authorization/ 까지는 고정이고 마지막 Path만 각 소셜 로그인 코드를 사용
- 여기서는 naver가 마지막 Path가 됨.
application을 구동해보면
네이버 로그인이 정상적으로 실행된다.