Spring Security OAuth2 - 카카오

appti·2022년 5월 28일
1

Spring Security OAuth2 - 카카오

  • 선행 과정
    • Spring Security 기본 설정
    • JWT 기본 설정
    • Spring Security OAuth2 기본 과정

카카오 애플리케이션

  • 애플리케이션을 추가해줍니다.

  • 앱 설정 -> 플랫폼에서 Web 플랫폼을 등록해줍니다.
  • 테스트 용이기 때문에 로컬에서 진행합니다.

  • 제품 설정 -> 카카오 로그인에서 카카오 로그인 API를 활성화합니다.

  • 제품 설정 -> 카카오 로그인에서 Redirect URL을 활성화합니다.
    • Spring Security OAuth2redirect uri 템플릿은 {baseUrl}/login/oauth2/code/{registrationId}이므로 이에 맞춰서 작성해줍니다.

  • 제품 설정 -> 카카오 로그인 -> 동의 항목을 설정합니다.
    • 제 경우 카카오계정(이메일)은 필수 동의로 하려면 검수가 필요하기 때문에 이를 제외했습니다.

  • 제품 설정 -> 카카오 로그인 -> 보안에서 Client Secret을 활성화시켜줍니다.

application.yml

  • 다음과 같이 설정을 추가합니다.
spring:
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: 앱 설정 -> 앱 키 -> REST API 키
            client-secret: 제품 설정 -> 카카오 로그인 -> 보안 -> Client Secret
            redirect-uri: http://localhost:8080/login/oauth2/code/kakao
            authorization-grant-type: authorization_code
            client-authentication-method: POST
            client-name: Kakao
            scope:
              - profile_nickname
              - profile_image
        provider:
          kakao:
            authorization-uri: https://kauth.kakao.com/oauth/authorize
            token-uri: https://kauth.kakao.com/oauth/token
            user-info-uri: https://kapi.kakao.com/v2/user/me
            user-name-attribute: id
  • client
    • 카카오 아이디로 로그인 하기 위해 만든 애플리케이션의 정보를 입력합니다.
    • scope에 동의 항목 설정을 한 내용을 추가합니다.
  • provider
    • Spring Security OAuth2의 경우 provider에 대한 정보를 구글과 페이스북만 가지고 있습니다.
    • 그렇기 때문에 수작업으로 설정을 해주어야 합니다.

실행

  • http://localhost:8080/oauth2/authorization/kakao로 요청합니다.

  • 동의 항목 설정으로 설정한 내용이 나옵니다.
  • 동의하고 계속하기를 눌러 진행합니다.

  • 동의하고 계속하기를 누르면 위와 같이 토큰이 발급되었음을 확인할 수 있습니다.
profile
안녕하세요

0개의 댓글