-
Spring Security - 구글 로그인 준비Framework & Library/Spring Security 2021. 10. 2. 16:16
API 설정
프로젝트 생성
ㆍ 구글 API Console 사이트에 접속을 한 후 위 사진에 표시된 버튼을 클릭한 후 spring-oauth-google이란 프로젝트를 생성한다.
OAuth 동의 화면 설정
ㆍ 프로젝트를 생성한 후 위 사진에 표시된 버튼을 클릭한 후 spring-oauth라는 이름으로 OAuth 동의 화면을 설정한다.
사용자 인증 정보 설정
ㆍ 위 사진에 표시된 버튼을 클릭한 후 spring-oauth라는 이름과 "http://localhost:8080/login/oauth2/code/google"의 URI로 사용자 인증 정보를 설정한다.
ㆍ "http://localhost:8080/login/oauth2/code/google"는 OAuth Client 라이브러리를 사용하게 되면 고정으로 사용되는 URI이다.
ㆍ 사용자 인증 정보 설정을 마치고 생성된 클라이언트 ID와 클라이언트 보안 비밀은 타인에게 노출되지 않게 관리해야 한다.
Spring Security 설정
OAuth Client 라이브러리 추가
ㆍ pom.xml 파일에 위 사진에 표시된 코드를 추가하여 OAuth Client 라이브러리를 다운로드한다.
applicaiton.yml 파일 수정
security: oauth2: client: registration: google: client-id: 860158119940-8ohdluti1lkm0g331r65vpae2l47r2vr.apps.googleusercontent.com client-secret: -eT8Dn4LsYopvGKRwmX1dTY2 scope: - email - profile
ㆍ application.yml 파일에 위 코드를 추가한다.
ㆍ client-id는 사용자 인증 정보에서 발급받은 클라이언트 ID를 사용하고, client-secret은 클라이언트 보안 비밀을 사용한다.
loginForm.html 수정
ㆍ loginForm.html 파일에 구글 로그인을 수행할 수 있는 코드를 추가한다.
ㆍ "/oauth2/authorization/google" 주소는 OAuth Client 라이브러리를 사용하여 구글 로그인을 수행하기 위해 고정된 주소이다.
SecurityConfig 클래스 수정
ㆍ SecurityConfig 클래스에 OAuth 로그인이 수행되는 로그인 페이지의 경로를 설정하기 위한 코드를 추가한다.
테스트
로그인 페이지
ㆍ 서버를 실행하고, 로그인 페이지에 접속한 후 구글 로그인 링크를 클릭한다.
구글 로그인 페이지
ㆍ 구글 로그인 링크에 접속한 후 구글 로그인을 수행할 수 있는 페이지로 전환된 것을 확인할 수 있다.
728x90'Framework & Library > Spring Security' 카테고리의 다른 글
Spring Security - Authentication 객체가 가질 수 있는 2가지 타입 (0) 2021.10.03 Spring Security - 구글 로그인 사용자 정보 받기 (0) 2021.10.02 Spring Security - 권한 처리 (0) 2021.10.01 Spring Security - 로그인 (0) 2021.10.01 Spring Security - 회원가입 (0) 2021.09.30