17주차 - Spring (25) 카카오 로그인을 구현해보자 - 3

2022. 10. 26. 22:40Spring framwork

이번의 목표

01. 카카오 로그아웃을 구현해보자.


지난 시간까지는 카카오 로그인을 하여 세션에 저장하는 방법을 공부했습니다.

이번에는 로그아웃에 대해 공부해보겠습니다.

하지만 저는 단순히 로그아웃이 아닌 연결을 끊어 앱과 카카오 계정의 연결을 끊는 것으로 하겠습니다.

로그아웃은 로그인 보다 코드가 쉽고 단순합니다.

 

 

연결을 끊기 위해서 필요한 url은 아래와 같습니다. POST형식만 지원하고 있는 것을 확인할 수 있습니다.

위에서 보듯, 이번에도 ACCESS_TOKEN을 사용하는 방법과 APP_ADMIN_KEY를 사용하는 방법이 있습니다.

저는 ACCESS_TOKEN을 사용하는 방법을 공부해보겠습니다.

 

코드는 아래와 같습니다.

public void unlink(String accessToken) {
    String reqURL = "https://kapi.kakao.com/v1/user/unlink";

    URL url;
    try {
        url = new URL(reqURL);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        // 요청에 필요한 Header에 포함될 내용
        conn.setRequestProperty("Authorization", "Bearer " + accessToken);

        int responseCode = conn.getResponseCode();
        System.out.println("responseCode : " + responseCode);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

로그아웃은 Request의 Header에 Authorization의 값만 입력하는 것으로 연결이 끝입니다.

 

 

위의 표에서 알 수 있듯, 로그아웃하면서 response에서 받을 수 있는 값은 ID 뿐이기 때문에 이를 사용하지 않는 상황에서 Buffer와 연결하여 값을 가져올 필요가 없습니다.

하지만 이럴 경우, 제대로 url주소와 연결이 되어서 로그아웃이 되었는지 확인을 하기가 어렵기 때문에 로그아웃을 하기위한 주소와 정상적으로 연결이 되었는지를 확인하기 위해 getResponseCode()를 이용하여 확인했습니다.

 

여기서 responseCode는 ajax에서 사용하는 status처럼 페이지와의 연결 결과의 코드를 알 수 있습니다.

ex) 200, 404, 500 등의 코드