오늘은 구글 로그인을 위한 사전 설정을 진행할 것이다.
1. Google API Console 접속
2. 프로젝트 만들기
2-1. 프로젝트 선택
2-2. 새 프로젝트
2-3. 프로젝트 이름을 설정하고 '만들기'
3. OAuth 동의 화면으로 이동
3-1. User Type '외부' 설정
3-2. 앱 이름, 사용자 지원 이메일, 개발자 이메일 입력하고 '저장 후 계속'
3-3. 범위, 테스트 사용자는 기본 상태 그대로 '저장 후 계속'
4. 사용자 인증 정보
4-1. 사용자 인증 정보로 이동하고 '사용자 인증 정보 만들기' 클릭
4-2. OAuth 클라이언트 ID
4-3. 클라이언트 설정
※ 승인된 Redirection URI
구글 로그인 완료 후 구글 서버에서 코드를 받을 URI
[주의] /login/oauth2/code 부분은 고정된 값이므로 변경하면 안됨
4-4. OAuth 클라이언트 정보 확인
클라이언트 ID, 클라이언트 보안 비밀번호는 잘 기억해두자!
(json 파일을 받아두면 편리하다)
5. 프로젝트 설정
5-1. build.gradle에 OAuth2 Client 추가
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
5-2. application.yml 설정
// application.yml
security:
oauth2:
client:
registration:
google:
client-id: Google Api Console에서 만든 OAuth 클라이언트 ID
client-secret : Google Api Console에서 만든 OAuth 클라이언트 보안 비밀번호
scope:
- email
- profile
5-3. SecurityConfig.java 설정
// SecurityConfig.java
http.authorizeRequests()
.antMatchers("/user/**").authenticated()
.antMatchers("/manager/**").access("hasRole('ROLE_ADMIN') or hasRole('ROLE_MANAGER')")
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
.anyRequest().permitAll()
.and()
.formLogin()
.loginPage("/loginForm")
.loginProcessingUrl("/login")
.defaultSuccessUrl("/")
.and() // oauth2 설정 추가
.oauth2Login()
.loginPage("/loginForm");
6. 설정 테스트
프론트단에서 /oauth2/authorization/google 으로 요청을 보내면 구글 로그인창이 잘 뜬다.
'Spring > Spring Boot' 카테고리의 다른 글
[Spring boot - OAuth2] Naver Login 구현 #1 (0) | 2023.03.04 |
---|---|
[Spring boot - OAuth2] Google Login 구현 #2 (0) | 2023.02.08 |
[Spring Boot | 삽질] H2 Database (User Table) (0) | 2023.01.20 |
[Spring boot - OAuth2] Kakao Login 구현 #04 (0) | 2022.11.21 |
[Spring boot - OAuth2] Kakao Login 구현 #03 (0) | 2022.11.18 |