카카오 서버에서 인가코드 받기
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
카카오 인가코드 받기
우리가 전에 카카오에 등록한 애플리케이션(현재 애플리케이션)에 REST API를 등록해야한다.
그리고 아까 빨간 네모부분을 이렇게 붙여넣기 한다.
이제 카카오 로그인하기 버튼을 클릭하면 카카오 로그인 창이 뜰것이다.
인가 코드를 컨트롤에서 받으면 그것을 처리할 서비스 클래스를 만듦
KakaoService 클래스파일이다.
우리가 카카오에 애플리케이션을 등록할때 리다이렉트 주소를 설정한적이 있다. 그곳으로 카카오가 인가코드를 보내준다. 이 함수가 카카오가 보낸 인가코드를 처리하는 함수이다.
81번째 줄 : KakaoService.kakaologin() 함수에서 받아온 String값은 JWT이다. 그것을 변수에 받는다.
88번째 줄 : 우리가 만든 쿠키가 자동으로 브라우저에 Set된다.
90번째 줄 : 메인페이지로 리다이렉트 시킴
KakaouserInfoDto를 만들어야 한다.
resTemplate가 Bean 자동 등록이 되지 않는다. 수동등록을 해보자
config 패키지에 RestTemplateConfig 클래스 파일을 만든다.
17번째와 18번째 줄 : API 호출 시 일정 시간이 지나도 응답이 없다면 끊어버리는 코드이다.
이 요청 URL은 위에 올린 Kakao Developer 사이트에 들어가면 나온다. 정해진 주소이다.
이 값은 아까 REST API 키 값을 복사한 값이다 여기에도 붙여넣어 준다.
redirect_uri은 1강의에서 우리가 등록한 리다이렉트 URL이다.
getToken 메서드로 accessToken을 받았다. 이걸로 사용자 정보 요청 메서드에 매개변수로 넣어 사용자 정보를 요청한다.
getKakaoUserInfo 메서드가 사용자 정보 요청 메서드이다.
마찬가지로 정해진 URL이며 카카오 개발자 사이트에서 이 URL을 알려준다.
응답값을 받는 jsonNode.get 함수에 넣어진 id, properties, kakao_account라는 Key의 이름은 카카오 개발자 사이트에 명시되어 있다.
즉, 응답값 Json 데이터중에서 id와 properties와 kakao_account를 받겠다는 것이다.
인가 코드가 어떻게 생겼는지 보는 코드
이것으로 카카오 로그인을 했을 때 사용자 정보를 서버로 가져오는 실습을 해보았다.
'Spring 심화주차 > 1주차' 카테고리의 다른 글
6. 통합 테스트란 무엇일까 (0) | 2024.09.16 |
---|---|
5. Mockito란 무엇일까? (0) | 2024.09.11 |
4. 단위 테스트란 무엇일까? (0) | 2024.09.11 |
3. 카카오 사용자 정보로 회원가입 구현 (1) | 2024.09.10 |
1. 소셜 로그인 (0) | 2024.09.09 |