우리에게 친숙한 카카오의 Resource Server에서 데이터를 받아 볼 것이다.
앞선 글에서 봤듯이
🧐 우선 사용자가 카카오를 통해 로그인을 한 후 카카오 Authorization Server에서 Code를 받아오자!
카카오 Authorization Server에서는 Code를 사용자가 로그인을 한 후 동의를 해야 발급을 해준다.
따라서 먼저 사용자에게 로그인 창을 보여줘야 한다.
아래 URL를 통해 사용자에게 로그인을 하도록 요청하고 동의를 받아 낼 수 있다.
https://kauth.kakao.com/oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code HTTP/1.1
- client_id : 카카오 개발자 센터에 가서 나만의 어플을 만든 후 Rest API 키를 가져오면 된다.
- redirect_uri : 카카오 Authorization Server는 code를 보내기 때문에 Client Server에서 Code를 받을 uri
🔍 redirect_uri 설정하는 법: 플랫폼 → Web밑 카테고리의 작은 글씨의 등록하러 가기 클릭 → 등록하기
redirect_uri를 원하는 uri로 등록하면 카카오 Authorization Server는 이 uri에 code값을 넘겨줄 것이다.
🔍 넘겨준 코드 값을 Controller의 GetMapping 메소드를 통해 변수에 저장해보자.
User의 데이터를 관리하는 UserController에 카카오 Authorization Server에서 Code를 받아오기 위해
아래와 같이 GetMapping 메소드를 만들어주고 uri로 redirect_uri를 설정해주자.
@GetMapping("/auth/kakao/callback") //redirect_uri : /auth/kakao/callback
public @ResponseBody String kakaoCallback(String code) {
return "코드는 :" + code;
}
※ redirect_uri는 /auth/kakao/callback 으로 설정을 해주었다.
🔌 실행
로그인 요청 url로 Get request를 하자.
GET https://kauth.kakao.com/oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code HTTP/1.1
우선 로그인을 한 후 동의를 해주면
카카오 Authorization Server는 아래와 같이 redirect_uri에 code를 넘겨줄 것이다.
http://localhost:8081/auth/kakao/callback?code=sfmHZyvBIZCVY1t6PuSt7JYyux7_r9CoNqbI8G3X4TVA1D9_1Mf0ybTA9fccipwmPVeiYwopb7kAAAF0tj0Xrw
이렇게 카카오 Authorization Server에서 Code를 받아와 저장을 해줬다.
다음에는 지금 받은 Code와 Client Id, Client Secret을 사용해 Access_Token을 받아와 보자.
참고자료 : https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
'Back-end > SpringBoot' 카테고리의 다른 글
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (4) Resource 받기 (2) | 2020.10.02 |
---|---|
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (3) Access Token 받기 (1) | 2020.10.01 |
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (1) 개념 정리 (0) | 2020.09.14 |
[Spring Boot] Rest API 구현 (Feat. spring date rest) (0) | 2020.08.30 |
[Spring Boot] YAML 파일 매핑하기 (Feat. @ConfigurationProperties) (0) | 2020.08.29 |