1. 응답받을 View 페이지 redirectPage.html 작성
#redirectPage.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
2. Controller에 응답받을 View 페이지 mapping 등록
@Controller
public class LoginController {
private final LoginService loginService;
public LoginController(LoginService loginService) {
this.loginService = loginService;
}
//redirect 경로 mapping
@RequestMapping("/login/kakao-redirect")
public String kakaoLogin(@RequestParam(value = "code",required = false) String code){
if(code!=null){//카카오측에서 보내준 code가 있다면 출력합니다
System.out.println("code = " + code);
}
return "redirectPage"; //만들어둔 응답받을 View 페이지 redirectPage.html 리턴
}
}
3. login 페이지 작성 및 mapping
(로그인창에서 -> 카카오측에 인가코드를 요청합니다)
#login.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a th:href="@{https://kauth.kakao.com/oauth/authorize?client_id=eeeeeeeeeeee&redirect_uri=http://localhost:8080/login/kakao-redirect&response_type=code}">
카카오로그인
</a>
</body>
</html>
login 페이지에 요청 링크를 만들어줍니다. rest api key를 eeeee로 적당히 바꾼 예시코드입니다. 자신의 rest api key와 redirectURI로 바꿔서 요청링크에 반영해주세요
4. login 페이지 mapping
@Controller
public class LoginController {
private final LoginService loginService;
public LoginController(LoginService loginService) {
this.loginService = loginService;
}
//login 페이지 mapping
@RequestMapping("/login")
public String loginPage(){
return "login";
}
//redirect 경로 mapping
@RequestMapping("/login/kakao-redirect")
public String kakaoLogin(@RequestParam(value = "code",required = false) String code){
if(code!=null){//카카오측에서 보내준 code가 있다면 출력합니다
System.out.println("code = " + code);
}
return "redirectPage"; //만들어둔 응답받을 View 페이지 redirectPage.html 리턴
}
}
5. 실행해봅니다
'web > Spring' 카테고리의 다른 글
카카오 로그인 구현(4) - 유저정보 알아내기 (0) | 2022.01.23 |
---|---|
카카오 로그인 구현(4) - 카카오 토큰 받기 (0) | 2022.01.23 |
카카오 로그인 구현(2) - 애플리케이션 설정 (0) | 2022.01.23 |
카카오 로그인 구현(1) - 애플리케이션 등록 (0) | 2022.01.23 |
Spring Boot - Mybatis로 Maria DB 연동하기 (0) | 2022.01.23 |