1 minute read

구글로 로그인하기







1.GOOGLE API 토큰 발급받기

  1. 구글 클라우드로 접속해 토큰 발급 신청
    • https://cloud.google.com/ 접속



  2. 콘솔 클릭 image ※구글 콘솔 동의 여부 확인창이 나오면 동의 해주고 넘어간다※



  3. 새로운 프로젝트 생성 image



  4. 신규로 만든 프로젝트를 선택해 신규 프로젝트로 이동
  5. 좌측 햄버거 메뉴에서 API 및 서비스 -> 사용자 인증 정보 버튼 클릭
    1. API 및 서비스가 안보인 다면 솔루션 -> 모든 제품 보기 클릭
  6. 좌측 메뉴에서 OAuth 동의 화면 클릭
  7. User Type을 외부로 선택하고 만들기 클릭
  8. 앱 정보를 등록하고 저장
  9. 범위 추가 또는 삭제를 이용하여 공개 범위 지정 후 업데이트
    1. 예제에서는 이메일과 openid 2가지선택하면 됨
    2. image
    3. 저장
  10. 테스트 사용자 지정은 하지않고 바로 넘어감
  11. 데쉬보드로 돌아가기 클릭
  12. 좌측 메뉴에서 “사용자 인증 정보” 클릭
  13. 상단의 사용자 인증 정보 만들기 > OAuth 클라이언트 ID 클릭
  14. 애플리케이션 유형 선택 => 웹 애플리케이션
  15. 이름 => 프로젝트 도메인 네임
  16. 승인된 리디렉션 URI 입력 => http://localhost:8080/login/oauth2/code/google
  17. 만들기 클릭






    JAVA Source Code 수정





    application.yml 파일에 아래 내용 추가

    spring:
    cecurity:
        oauth2:
            client:
                registration:
                    google:
                        client-id: <클라이언트ID 발급시 나온 클라이언트 ID>
                        client-secret: <클라이언트 보안 비밀번호>
                        scope:
                            - email
                            - profile
    

    ** 인증키는 외부에 공유되지 않도록 주의!!! **



  1. OAuth2 의존성 추가를 위해 Build.gradle 수정
    dependencies {
    ...생량...
     // OAuth2를 사용하기 위한 스타터 추가
     implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
    }
    
  2. 쿠리 관리 클래스 구현하기
  3. util 패키지를 새로 만들고 CokkieUtil.java 파일을 생성
  4. config 패키지에 oauth 패키지를 만들고 OAuth2UserCustomService.java 파일 생성
  5. WebSecurityConfig.java 파일 삭제 ※해당 파일은 기존의 로그인_예제_실습 포스팅을 보시고 따라했으면 파일 삭제 필요함※
  6. config > oauth 패키지 안에 OAuth2AuthorizationRequestBasedOnCookieRepository.java 파일 생성
  7. config > oauth 패키지 안에 OAuth2SuccessHandler.java 파일 생성
  8. 버튼 이미지 다운로드 링크로 접속하여 구글 로그인 버튼 이미지 파일 다운로드
  9. 파일 안에 png파일 중 마음에 드는 디자인을 선택해 /resources/static/img 디렉터리에 복사하기
    1. 복사 후에 파일명을 google.png로 변경
  10. templates 디렉터리에 oauthLogin.html 생성
  11. resources/static/js 디렉터리에 token.js 파일 생성

Updated: