이전 포스트에서 카카오 로그인 API를 사용하기 위한 기본 설정 & 전체적인 흐름을 봤다.
https://3unbbb.tistory.com/104
카카오 로그인 api 사용하기 -1
팀프로젝트에서 해보고 싶었던 sns 로그인 api 포트폴리오랑 자소서가 대강 틀이 잡혀가니까 미뤄뒀던 소셜로그인 공부하기! 1. 우선 카카오 디벨로퍼에서 내 어플리케이션에 추가, 플랫폼에 도
3unbbb.tistory.com
이제 카카오에서 알려준대로 하나하나 따라가면 된다.
Step1 카카오 로그인

1. 카카오 로그인 버튼 생성
평소에 자주보던 카카오 로그인 버튼은 아래로 가면 디자인소스를 다운받을 수 있다.
https://developers.kakao.com/docs/latest/ko/kakaologin/js
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com

2. 버튼에 클릭이벤트를 줘서 카카오 로그인 함수인 Kakao.Auth.authorize()로 간편 로그인을 요청
간편 로그인은 카카오계정 ID 및 비밀번호 입력 없이 카카오톡을 통해 사용자를 인증하고 인가 코드를 발급받는 기능
즉 이 화면에서 아이디와 비밀번호를 입력 받을 필요가 없음


home.jsp의 로고에는 <a>태그로 컨트롤러 연결
controller에서는 아래 나와있는 것처럼 요청 주소를 입력

redirect_uri = 카카오 '내 어플리케이션 > 제품설정>카카오 로그인' 에 등록해놓은 redirect_uri,
rest_api = '내 어플리케이션 > 앱 설정 > 앱 키'의 REST API 키,
response_type = code
주소는 무조건 https:// 로 해야함 > 카카오 보안정책
카카오 로그인 버튼을 누르면 자주보던 카카오 로그인 창이 뜸



정보를 입력하고 로그인을 누르면 KOE201 에러가 뜬다
해결방안으로 들어가보니
지원하지 않는 response_type을 인가 코드 요청에 포함하는 경우
Unsupported response type: {response_type}
>> redirect주소에 '&'를 빼먹음
return "redirect:https://kauth.kakao.com/oauth/authorize?client_id="+rest_api
+"&redirect_uri="+redirect_uri+"&response_type="+response_type;
이렇게 변경

그러면 이렇게 잘 나옴
동의하고 계속하면 404에러..
controller에서 redirect된 주소 처리를 안해줘서 그런거니까
내 코드에서는 http://localhost:8088/oauth를 매핑해주면 된다.
일단 아무 처리 없이 매핑만


oauth.jsp로 잘 연결되는걸 확인 했으면 이제 로그인한 카카오계정 정보를 가져와야 함

파라메터에 있는 code를 가져와야 함(code는 일회용)

이제 이 코드로 토큰을 받아야 한다.



'STUDY > SPRING' 카테고리의 다른 글
카카오 로그인 API 사용하기 - 4(로그인 완료) (0) | 2022.08.18 |
---|---|
카카오 로그인 API 사용하기 - 3 (0) | 2022.08.18 |
카카오 로그인 api 사용하기 -1 (0) | 2022.08.13 |
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed (0) | 2022.07.01 |
Error : SEVERE: 자식 컨테이너를 시작 중 실패했습니다. (0) | 2022.07.01 |