[URECA] Day 35
카카오 개발자 홈피로 들어간다.

어플리케이션 추가를 누르고

위에 해당하는 걸 입력하고 클릭해준다.

내 애플리케이션을 누르면 이렇게 화면이 보이면 완성된것



host주소를 입력해준다. 백엔드 서버와 연결할거여서
back_ip를 localhost로 문자를 고쳐준다.

밑에도 개인 비즈가 되어있어야한다. 동의하고

개인 비즈도 만들면 된다.

참고로 앱 아이콘은
여기서 화질 좋은 거로 다운 받을 수 있다.
rc로 하면 응답하는 콘텐츠가 된다

그냥 컴트롤러로 하면 템플릿의 이름이 된다.

콘텐츠를 바로 응답하는 것이 아니라 rc로 하면 안된다.
package com.shop.cafe.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Controller
public class KakaoOAuthController {
@GetMapping("kakaoLogin")
public String kakaoLogin() {
// redirect는 카카오에서 정해준것
return "redirect:https://kauth.kakao.com/oauth/authorize?client_id="
+ KAKAO_API_KEY
//b2b의 또다른 주소이다.
+ "&redirect_uri=http://localhost:8080/kakaoLoginCallback&response_type=code";
}
}
redirect는 카카오에서 정해준 것

똑같이 써도 오류가 발생한다..?
문제의 원인을 알았다!!! (문제 해결은 항상 소회의실에서 호호하하)
secu.properties랑 application properties에서 중요 정보를 처리하다가 그냥 수업에서 하는 방식으로 똑같이 따라 했었다.
수업에서 진행 방식과 중요 정보를 처리해 놓은 방식이 틀려서 오류가 났던것이었다.
이 오류까지 수정하고 나니
카카오 Redirect URL에서 localhost8080으로 입력한 것 아닌가.. 하하
localhost와 8080 사이에 :을 입력하니 문제가 해결되었다.

그렇게 로그인까지 누르면
package com.shop.cafe.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Controller
public class KakaoOAuthController {
String KAKAO_API_KEY ="비밀입니당";
@GetMapping("kakaoLogin")
public String kakaoLogin() {
// redirect는 카카오에서 정해준것
return "redirect:https://kauth.kakao.com/oauth/authorize?client_id="
+ KAKAO_API_KEY
//b2b의 또다른 주소이다.
+ "&redirect_uri=http://localhost:8080/kakaoLoginCallback&response_type=code";
}
@GetMapping("kakaoLoginCallback")
public String kakaoLoginCallback(@RequestParam String code) {
System.out.println("사용자 로그인 코드"+code);
return null;
}
}


이렇게 사용자 로그인 코드가 나타나는 것을 확인할 수 있다.
이제 본격적인 b2b가 일어나고 있다.
backend랑 카카오 서버와의 b2b이다.
카카오 입장에서는 내가 클라이언트가 되는 것이다.
KakaoSerivce에서 get카카오 액세시스 토큰을 발급하ㅎ한다.