spring/spring security

[SpringSecurity5] OAuth2.0로 카카오 로그인 구현

moonsiri 2024. 10. 17. 17:20
728x90
반응형

OAuth2.0로 카카오 로그인 구현 방법에 대해 포스팅하겠습니다.

 

1. 카카오 개발자 센터에서 애플리케이션 등록

카카오 개발자 센터(https://developers.kakao.com/)에 접속하여 로그인 후 애플리케이션을 등록합니다.

 

 

앱 이름회사 정보를 작성한 뒤, 카카오 로그인 기능을 활성화합니다.

Redirect URI: http://localhost:8080/login/oauth2/code/kakao와 같은 형식으로 설정합니다. 이 값은 Spring Security에서 카카오로부터 인증 후 리디렉션될 URL입니다.

 

애플리케이션을 등록하면, Client ID (REST API Key)와 Client Secret을 발급받습니다.

 

카카오 로그인 시 개인정보를 가져오기 위해서는 동의항목 설정을 해야합니다.

 

카카오계정(이메일)을 받아오기 위해서는 사업자 정보 등록 혹은 본인인증이 필요합니다.

 

2. Spring Boot 설정

아래 포스팅을 확인해주세요.

 

[Spring Security5] OAuth2 로그인 설정

Spring Boot 애플리케이션에 OAuth 로그인을 추가하는 과정은 주로 Spring Security와 OAuth2 클라이언트 설정을 통해 이루어집니다. OAuth 제공자(예: Google, Facebook, Naver 등)와 통합하기 위한 일반적인 순서

moonsiri.tistory.com

 

application.yml 예시:

spring:
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: {client-id}           # 카카오에서 발급받은 client-id (REST API Key)
            client-secret: {client-secret}   # 필요하면 사용 (기본적으로 비워도 무관)
            scope: profile_nickname, account_email  # 카카오에서 가져올 데이터 범위
            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
            authorization-grant-type: authorization_code
            client-authentication-method: client_secret_post
            client-name: Kakao
        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  # 카카오에서 제공하는 사용자 ID

 

카카오 로그인 버튼 HTML 예시:

<a href="/oauth2/authorization/kakao">카카오 로그인</a>

 

[Reference]

https://developers.kakao.com/docs/latest/ko/index

728x90
반응형