Spring boot kim's cafe/oauth로그인

Springboot 네이버로그인!(1) code받기 state만들기

디비드킴 2021. 7. 10. 21:22

소스를 정리하기 전에

좀 아쉬움이 남았다

아임 포트로 api를 성공하고 나니까

너무 짜릿해서 한 번 더 해보고 싶었는데

무얼 할까 하다가 자주 사용할 거 같은 

네이버 로그인을 선택했다!

 

네이버는 토큰을 받기 전에 

https://nid.naver.com/oauth2.0/authorize

링크로 가서 code/state를 얻어와야 했다

당황스러웠지만 성공했다!

url통신을 해야 한다 

조건은

뒤에 파라미터로 api아이디/callbackurl/state를 만들어서 줘야 한다

 

여길 참고해서 만들어보자

https://developers.naver.com/docs/login/api/api.md

 

네이버 아이디로 로그인 API 명세 - LOGIN

'네이버 아이디로 로그인 API는 네이버 로그인 인증 요청 API, 접근 토큰 발급/갱신/삭제 요청API로 구성되어 있습니다. 네이버 로그인 인증 요청 API는 여러분의 웹 또는 앱에 네이버 로그인 화면을

developers.naver.com

내 애플리케이션을 등록해주자

service

naverLoingService.java

특이하게 state는 url인코딩을 해줘야 한다

state = URLEncoder.encode(callBackUrl, "UTF-8");

처음이었다

그래서 그냥 해봤다 

다행히 성공했다!

 

js

js

location.href=xhr.response;

서버가 만든  url을 여기서 실행시켜주자!

 

결과

 로그인 창이 나온다

callbackurl을 만들어주자

 

restcontroller

restcontroller.java

로그인에 성공한다면

콜백 url로 code/state를 

네이버에서 준다

 

 

이제 토큰을 받아보자!