본문 바로가기
프로젝트/SpringSecurity

[Spring Security] 4. OAuth 구글로그인(1)

by dantriss 2023. 7. 4.

유튜브에서 스프링시큐리티를 심화교육하면서 조금더 레벨업 하고자 한다.

IDE : IntelliJ

언어 : Java 8

스프링부트 버전 : 2.7.13

DB : MySQL

빌드관리 도구 : Maven

OS : iOS

참고유튜브 : 메타코딩


구글아이디로 로그인을 준비 하기 위해서 아래링크로 이동해서 새로운 프로젝트를 만들어준다.

https://console.cloud.google.com

 

새 프로젝트 클릭

 

프로젝트 이름을 만들어주고

 

API 및 서비스 -> OAuth 동의화면 으로 이동한다.

 

 

타입은 외부로 선택한 후 만들기 클릭

 

필수로 채워야하는 사항들을 넣어주고 저장

 

사용자 인증 정보로 이동

 

사용자 인증 정보 만들기 -> OAuth 클라이언트 ID 선택

 

애플리케이션 유형 웹 애플리케이션 선택

 

요청 주소에 localhost:포트번호 입력 /login/oauth2/code/google 은 고정값

 

클라이언트 아이디와 비밀번호 생성 완료

해당 값들은 appliction.yml에서 사용할 예정이다.

 

MavenRepository에서 OAuth2 client 검색

https://mvnrepository.com/artifact/org.springframework.security/spring-security-oauth2-client/6.1.1

 

해당 라이브러리를 pom.xml에 넣어준다.

 

넣었는데 빨간줄이 뜬다면 인텔리제이 우측에 maven 클릭 후 해당 프로젝트를 Reload 해주면 된다.

 

 

application.yml로 이동해서 아래와 같이 작성 후 아까 받은 아이디와 비밀번호를 넣어준다.

  security:
    oauth2:
      client:
        registration:
          google: # /oauth2/authorization/google
            client-id: idididid
            client-secret: pwpwpwpw
            scope:
              - email
              - profile

 

loginForm으로 이동해서 a태그를 이용해 구글로그인을 위한 주소를 추가해준다.

<a href="/oauth2/authorization/google">Google LogIn</a>

 

SecurityConfig로 이동해서 oauth2로그인처리를 해준다.

.and()
    .oauth2Login()
    .loginPage("/loginForm")

 

실행 후 로그인 페이지에서 구글로 로그인을 눌러보면 익숙한 화면을 볼 수 있다.

 

댓글