개발공부/spring security & JWT 강의

[6강] 구글 로그인 준비

기억지기 개발자 2023. 9. 22. 11:23

 

1. 해당 사이트에 접속한다. 

https://console.cloud.google.com/projectcreate?previousPage=%2Fapis%2Fdashboard%3Fhl%3Dko%26project%3Dsrpingboot-outh&organizationId=0&hl=ko

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

2. 프로젝트를 하나 생성한다.

 

 

3.  User Type을 설정한다.

(1단계에서 이메일만 필수적으로 작성해야 해서 작성하고 그 뒤에 적어야 하는 곳들은 모두 skip)

 

 

4. 사용자 인증 정보 만들기

핑크 박스 부분을 눌러준다.
핑크 박스 부분을 눌러준다.
핑크색 부분은 개인의 설정에 맞게 입력해준다. 나의 경우에는 웹이라서 웹을 선택했다.

여기서 https로 요청했는데 그러면 로컬 프로젝트용으로는 오류가 난다. http로 해야 한다.

-------------------------------------------------------------------------------------------------------------

  1. 구글 로그인이 완료가 되고 나면 구글의 서버에서 코드를 돌려준다. (인증이 되었다는 코드를)
  2. 다시 그 코드를 통해서 엑세스 토큰을 (구글에) 요청한다.
  3. 그 토큰을 받아서 구글 서버에 있는 사용자 정보에 접근할 수 있는 권한을 가지게 된다.
  4. 여기서 적은 주소(노란 박스에 있는 주소)가 그 코드를 받기 위해 필요한 주소이다.

/login/oauth2/code/ 부분은 고정값이다. 

(해당 주소 값은 controller에서 따로 생성할 필요가 없는 알아서 처리되는 주소이다.)

--------------------------------------------------------------------------------------------------------------

생성완료

 



생성한 뒤에 build.gradle 파일에 oauth 의존성 주입

implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'

 

application.properties 파일에 설정추가

# Google OAuth2 Client 설정
spring.security.oauth2.client.registration.google.client-id= [아까 발급받은 id값]
spring.security.oauth2.client.registration.google.client-secret= [아까 발급받은 비밀번호 값]
spring.security.oauth2.client.registration.google.scope=email,profile

 

URL 요청 코드 작성하기

노란 박스를 누르면 구글 로그인 페이지로 이동하도록 아래의 코드를 작성한다.

 

// loginForm.html 파일에 해당 코드를 추가
<a href="/oauth2/authorization/google">구글 로그인</a>

 

위의 코드까지 SecurityConfig 클래스에 작성해 주면 끝~~~