Spring boot kim's cafe/oauth로그인

Springboot 구글 로그인!(1) with oauth2

디비드킴 2021. 6. 16. 13:37

일단 application.properties 로가서

이렇게 작성해준다

이건 구글 api센터에 가서 발급받으면 된다 

모르겠으면

https://youtu.be/9ui2i-SgBpk

이 영상을 참고하자!

주의할 점

페이스북은 scope 없어도 기본적인 거 다 주는 거 같던데

구글은 spring.security.oauth2.client.registration.google.scope=profile,email 없으면

로그인 시 구글이 가지고 있는 우리 아이디 번호만 받아온다

 

훨씬 길지만 

실제 사용 중인 아이디여서 잘랐다

그래서 꼭 scope설정 해주자!

 

그리고 html

놀랍게도 스프링 부트에서 

구글/페북 같은 큰 사이트에 대한 로그인 경로는

자동으로 지정해줘서 저렇게 입력하면 된다

 

자 이제 구글 로그인 로그인을 할 건데

시큐리티로 가서 설정을 해줘야 한다

 

security.java

.oauth2Login() 오스로그인이 발생하면

.userInfoEndpoint()유저정보를 받아서

.userService(userService);

서비스를 만들어서 얘랑 처리한다 

 

이전에 카카오톡 oauth로그인을 

그냥 한 땀 한 땀 만든 적이 있는데 

https://youtu.be/JBN5dCnLYnY

이걸 보고 그때에 비하면 꽤 간단하게

만들어지는 편이다 

마치 jdbc공부 끝나고 spring으로 왔는데 

그냥 다 자동으로 해주는 기분..?처럼..?

 

구글/페북/트위터는 이렇게 심플하게 만들지만

네이버/카카오로 만들려면 조금 다르다 

일단 서비스를 만들러 가보자!

oauth2service.java

 

security에서 제공해 주는  

DefaultOAuth2UserService 상속받는다

그리고 시큐리티로 가서 넣어준다

 

그리고 필요한 함수를 오버라이드 한다

loaduser

이제 작성하기 전에 로그인 창이

잘 뜨는지 봐보자

밑에는 내 구글 아이디가 나와서 가렸다!

 

이제 loaduser를 작성하러 가자!