Spring boot , 스프링
Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (1) 예제
Rhats
2023. 3. 3. 09:08
반응형
Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (1) 예제
- 구글 클라이언트 ID와 클라이언트 시크릿 생성
- 구글 개발자 콘솔에 접속하여 새로운 프로젝트를 만든 후, 해당 프로젝트에서 OAuth 클라이언트 ID를 생성합니다.
- 클라이언트 ID와 클라이언트 시크릿을 확인합니다.
- Spring Security, OAuth2 및 Spring Boot Starter 추가
- Maven 또는 Gradle을 사용하여 pom.xml 또는 build.gradle에 Spring Security와 OAuth2 종속성을 추가합니다.
- application.yml 파일에 구글 로그인 정보 추가
1.application.yml 파일에 클라이언트 ID, 클라이언트 시크릿, 리다이렉트 URI 등을 추가합니다.
yaml
spring:
security:
oauth2:
client:
registration:
google:
client-id: <클라이언트 ID>
client-secret: <클라이언트 시크릿>
redirect-uri: <리다이렉트 URI>
scope:
- email
- profile
provider:
google:
user-info-uri: https://www.googleapis.com/oauth2/v3/userinfo
authorization-uri: https://accounts.google.com/o/oauth2/auth
token-uri: https://accounts.google.com/o/oauth2/token
user-name-attribute: sub
2.로그인 처리
- Spring Security의 OAuth2 기능을 이용하여 로그인 처리를 합니다.
@GetMapping("/login")
public String loginPage() {
return "login";
}
@GetMapping("/oauth2/redirect")
public String oauth2Redirect(@AuthenticationPrincipal OAuth2User principal) {
String email = principal.getAttribute("email");
String name = principal.getAttribute("name");
// 로그인 성공 후 처리
return "redirect:/home";
}
위를 연계하기 위한 페이지는 "Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (2) 예제" 에서 다루겠습니다
반응형