Kakao Developers란?
카카오 API를 활용하여 다양한 애플리케이션을 개발해 보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
카카오 디벨로퍼로 이동하기
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
애플리케이션 추가하기
REST API 키 확인하기
좌측메뉴에서 앱 설정 > 플랫폼 > Web 플랫폼 등록
대부분이 8080포트 이겠지만, 설정해 준 포트를 입력해 주시면 됩니다.
Redirect URI 확인하기
좌측메뉴에서 제품 설정 > 카카오 로그인
활성화 설정 ON 및 Redirect URI 등록
나의 경우 http://localhost:8080/oauth2/kakao?code={코드 값} 이 URI로 리다이렉트 된다.
이 코드 값으로 Access Token을 요청할 수 있다.
Redirect URI 설정이란?!
카카오 로그인이 성공하였을 경우 넘어갈 화면을 설정해 주는 것이다.
Redirect URI는 Spring Security를 사용하지 않는 경우에는 컨트롤러에서 URI를 매핑하여 로직을 구현해 주면 되지만 Spring Security를 사용하면 Spring에서 자동으로 매핑을 하여 Service 쪽으로 연결해줍니다. 카카오 로그인을 진행하면 등록한 Redirect URI로 리다이렉트 되는데 Authorize code값을 얻을 수 있습니다.
반드시 Redirect URI는 프런트에서 접근할 수 있는 localhost 3000번으로 해줘야 한다. 여기서 인가코드를 받고 넘기는 등 모든 작업이 이루어지는데 프런트가 접근할 수 없으면 아무것도 할 수없습니다. 대신 백에서 혼자 테스트할 땐 8080도 추가해서 따로 테스트해 볼 순 있다. 웹 플랫폼을 사용할 것이기 때문에 플랫폼 메뉴로 들어가 localhost3000번을 추가해주었습니다. 나중에 배포하면 배포 주소도 넣어줘야 합니다.
이후, 왼쪽 NavBar에 카카오 로그인 > 동의항목 클릭
로그인 시, 어떤 정보를 받아올지 설정하는 화면입니다.
Secret Code 생성
(buid.grade)
Oauth2 로그인을 위한 dependencies 부분은 oauth2-client와 security
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
(application.yml)
security:
oauth2:
client:
registration:
kakao:
client-id: 앱 설정 -> 앱 키 -> REST API 키
client-secret: 제품 설정 -> 카카오 로그인 -> 보안 -> Client Secret
authorization-grant-type: authorization_code
client-authentication-method: POST
client-name: kakao
redirect-uri: http://localhost:8080/login/oauth2/code/kakao
scope:
- profile_nickname
- account_email
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로 요청합니다.
'IT > spring' 카테고리의 다른 글
Spring boot에서 Chatgpt openAPI 연동하기 (0) | 2025.02.13 |
---|---|
Springboot와 AWS RDS 연동하기 with DataGrip (0) | 2025.02.13 |