Oauth_구글로_로그인_하기 실습
구글로 로그인하기
1.GOOGLE API 토큰 발급받기
- 구글 클라우드로 접속해 토큰 발급 신청
- https://cloud.google.com/ 접속
- https://cloud.google.com/ 접속
-
콘솔 클릭
※구글 콘솔 동의 여부 확인창이 나오면 동의 해주고 넘어간다※
-
새로운 프로젝트 생성
- 신규로 만든 프로젝트를 선택해 신규 프로젝트로 이동
- 좌측 햄버거 메뉴에서 API 및 서비스 -> 사용자 인증 정보 버튼 클릭
- API 및 서비스가 안보인 다면 솔루션 -> 모든 제품 보기 클릭
- 좌측 메뉴에서 OAuth 동의 화면 클릭
- User Type을 외부로 선택하고 만들기 클릭
- 앱 정보를 등록하고 저장
- 범위 추가 또는 삭제를 이용하여 공개 범위 지정 후 업데이트
- 예제에서는 이메일과 openid 2가지선택하면 됨

- 저장
- 테스트 사용자 지정은 하지않고 바로 넘어감
- 데쉬보드로 돌아가기 클릭
- 좌측 메뉴에서 “사용자 인증 정보” 클릭
- 상단의 사용자 인증 정보 만들기 > OAuth 클라이언트 ID 클릭
- 애플리케이션 유형 선택 => 웹 애플리케이션
- 이름 => 프로젝트 도메인 네임
- 승인된 리디렉션 URI 입력 => http://localhost:8080/login/oauth2/code/google
- 만들기 클릭
JAVA Source Code 수정
application.yml 파일에 아래 내용 추가
spring: cecurity: oauth2: client: registration: google: client-id: <클라이언트ID 발급시 나온 클라이언트 ID> client-secret: <클라이언트 보안 비밀번호> scope: - email - profile** 인증키는 외부에 공유되지 않도록 주의!!! **
- OAuth2 의존성 추가를 위해 Build.gradle 수정
dependencies { ...생량... // OAuth2를 사용하기 위한 스타터 추가 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' } - 쿠리 관리 클래스 구현하기
- util 패키지를 새로 만들고 CokkieUtil.java 파일을 생성
- config 패키지에 oauth 패키지를 만들고 OAuth2UserCustomService.java 파일 생성
- WebSecurityConfig.java 파일 삭제 ※해당 파일은 기존의 로그인_예제_실습 포스팅을 보시고 따라했으면 파일 삭제 필요함※
- config > oauth 패키지 안에 OAuth2AuthorizationRequestBasedOnCookieRepository.java 파일 생성
- config > oauth 패키지 안에 OAuth2SuccessHandler.java 파일 생성
- 버튼 이미지 다운로드 링크로 접속하여 구글 로그인 버튼 이미지 파일 다운로드
- 파일 안에 png파일 중 마음에 드는 디자인을 선택해 /resources/static/img 디렉터리에 복사하기
- 복사 후에 파일명을 google.png로 변경
- templates 디렉터리에 oauthLogin.html 생성
- resources/static/js 디렉터리에 token.js 파일 생성