본문 바로가기

web/Spring

카카오 로그인 구현(3) - 인증코드받기

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 등록

앞서 적어둔 redirect 경로를 확인합니다.

 

@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

(로그인창에서 -> 카카오측에 인가코드를 요청합니다)

요청양식입니다 {}안의 내용에 맞춰 요청 주소를 변경합니다

 

아까 적어둔 REST API 키를 확인합니다&amp;nbsp;

 

#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. 실행해봅니다

login 페이지 -&amp;gt; login요청 보내기
카카오측 페이지로 이동하면서 카카오 로그인 동의창이 나옵니다.
콘솔창을 보면 code가 들어와 출력됨을 확인할 수 있습니다. 이 코드가 인증코드입니다.

 

 

 

현재까지 진척도