Spring Security OAuth2 - 카카오
- 선행 과정
Spring Security
기본 설정
JWT
기본 설정
Spring Security OAuth2
기본 과정
카카오 애플리케이션
앱 설정 -> 플랫폼
에서 Web 플랫폼
을 등록해줍니다.
- 테스트 용이기 때문에 로컬에서 진행합니다.
제품 설정 -> 카카오 로그인
에서 카카오 로그인 API
를 활성화합니다.
제품 설정 -> 카카오 로그인
에서 Redirect URL
을 활성화합니다.
Spring Security OAuth2
의 redirect 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
로 요청합니다.
- 동의 항목 설정으로 설정한 내용이 나옵니다.
- 동의하고 계속하기를 눌러 진행합니다.
- 동의하고 계속하기를 누르면 위와 같이 토큰이 발급되었음을 확인할 수 있습니다.