📌 구글 로그인
✔ Google Api Console 접속
https://console.cloud.google.com
◽ 새로운 프로젝트 만들기
① 프로젝트를 만들기 위해 새 프로젝트를 클릭한다.
② 프로젝트의 이름을 설정한 뒤, 만들기 버튼을 클릭한다.
③ 프로젝트 생성 확인
그럼 이렇게 프로젝트가 생성된 것을 볼 수 있다.
④ API 및 서비스 > OAuth 동의 화면
User Type 은 외부로 선택하고, 애플리케이션 이름을 설정한 후 저장한다.
⑤ 사용자 인증 정보
+ 사용자 인증 정보 만들기 클릭
OAuth 클라이언트 ID 클릭
애플리케이션 유형 -> 웹 애플리케이션 클릭
이름 설정 후, 리다이렉션 URI를 적어준다.
구글 로그인이 완료가 되고나면, 구글 서버 쪽에서 인증이 되었다는 코드를 돌려준다. 우리는 이 코드를 받아서 SSO Token을 요청한다. SSO Token을 받아서 사용자 대신 우리 서버가 구글 서버에 사용자의 개인정보 등 민감한 정보에 접근할 수 있는 권한이 생긴다.
그래서 URI 중 /login 앞은 자유롭게 적어도 되는데, /login/oauth2/code/google 은 정해져있다. 그렇게 작성하면 여기에 대한 Controller는 필요가 없다.
OAuth 클라이언트가 생성이 된 것을 확인할 수 있다.
⑥ Spring project 만들기
◽ 종속성에 OAuth Client를 추가하여 새로운 프로젝트를 만든다.
◽ application.yml 에 위에서 생성해 주었던 OAuth 클라이언트의 id와 password를 입력한다.
◽ html에 아래와 같은 코드를 입력해 넣는다.
<a href="/oauth/authorization/google">구글 로그인</a>
◽ SecurityConfig.java
SecurityConfig.java에 위와 같이 코드를 입력해 넣는다.
위 코드를 입력해 넣으면 구글 로그인을 할 수 있는 화면이 뜨는데, 로그인 해보면 403에러가 뜬다.
.loginPage("/loginForm") 은 구글 로그인이 완료된 뒤의 후처리가 필요하다.
참고 : 인프런 - 스프링부트 시큐리티 & JWT 강의 (최주호)
'Back > Spring' 카테고리의 다른 글
[Spring/Security] Authentication 객체가 가질 수 있는 2가지 타입 (4) | 2023.06.23 |
---|---|
[Spring/Security] 구글 회원 프로필 정보 받아오기 (5) | 2023.06.23 |
[Spring] 스프링 AOP - 포인트컷 / 포인트컷 지시자의 종류 / execution / @target / @within (0) | 2023.05.25 |
[Spring] 예제 프로젝트 만들기 - 상품 주문 프로세스 (2) | 2023.05.22 |
[Spring] 회원 관리 (2) - 서비스 개발 / test (0) | 2023.04.28 |