2025-05-13
[์ฌ์ฉ์ โ ์นด์นด์ค ๋ก๊ทธ์ธ ์์ฒญ]
โ
[์ธ๊ฐ ์ฝ๋ ๋ฐ๊ธ] (1๋จ๊ณ)
โ
[์ก์ธ์ค ํ ํฐ ๋ฐ๊ธ] (2๋จ๊ณ)
โ
[์ฌ์ฉ์ ์ ๋ณด ์์ฒญ] (3๋จ๊ณ)
โ
[๋ก๊ทธ์์ ๋๋ ์ฐ๊ฒฐ ํด์ ] โ ์ง๊ธ ๋จ๊ณ! (4๋จ๊ณ)
ํญ๋ชฉ | ์ค๋ช |
---|---|
URL | https://kapi.kakao.com/v1/user/logout |
METHOD | POST |
์ธ์ฆ ๋ฐฉ์ | Authorization: Bearer {ACCESS_TOKEN} |
@GetMapping("/logout")
@ResponseBody
public void logout() {
log.info("GET /kakao/logout");
String url = "https://kapi.kakao.com/v1/user/logout";
HttpHeaders header = new HttpHeaders();
header.add("Authorization", "Bearer " + this.kakaoTokenResponse.getAccess_token());
HttpEntity entity = new HttpEntity<>(header);
RestTemplate rt = new RestTemplate();
ResponseEntity<String> response = rt.exchange(url, HttpMethod.POST, entity, String.class);
System.out.println(response); // {"id": 4258514384}
}
๐ ์ฃผ์:
request.getSession().invalidate();
๋ ํจ๊ป ์ํ ํ์ํญ๋ชฉ | ์ค๋ช |
---|---|
URL | https://kapi.kakao.com/v1/user/unlink |
METHOD | POST |
์ธ์ฆ ๋ฐฉ์ | Authorization: Bearer {ACCESS_TOKEN} |
@GetMapping("/unlink")
@ResponseBody
public void unlink() {
log.info("GET /kakao/unlink");
String url = "https://kapi.kakao.com/v1/user/unlink";
HttpHeaders header = new HttpHeaders();
header.add("Authorization", "Bearer " + this.kakaoTokenResponse.getAccess_token());
HttpEntity entity = new HttpEntity<>(header);
RestTemplate rt = new RestTemplate();
ResponseEntity<String> response = rt.exchange(url, HttpMethod.POST, entity, String.class);
System.out.println(response); // {"id": 4258514384}
}
๐ ์ฐ๊ฒฐ ๋๊ธฐ๋ ํ ํฐ ๋ง๋ฃ + ์ฌ์ฉ์ ๊ณ์ ์ฐ๊ฒฐ ํด์
ํญ๋ชฉ | ์ค๋ช |
---|---|
URL | https://kauth.kakao.com/oauth/logout |
METHOD | GET |
์ธ์ฆ ๋ฐฉ์ | ์์ (์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ฐ ์์ฒญ) |
ํ์ํ ์ค์ | ์ฝ์ > Logout Redirect URI ๋ฑ๋ก ํ์ |
private static final String LOGOUT_REDIRECT_URI = "http://localhost:8090/kakao/login";
@GetMapping("/logoutAll")
public String logoutAll() {
log.info("GET /kakao/logoutAll...");
return "redirect:https://kauth.kakao.com/oauth/logout?client_id="
+ CLIENT_ID + "&logout_redirect_uri=" + LOGOUT_REDIRECT_URI;
}
๐ ์ด ์์ฒญ์:
logout_redirect_uri
๋ ๋ฐ๋์ ์ฝ์์ ๋ฑ๋ก๋์ด ์์ด์ผ ํจํ๋ผ๋ฏธํฐ | ์ค๋ช | ํ์ |
---|---|---|
client_id | ์นด์นด์ค ์ฑ REST API ํค | โ |
logout_redirect_uri | ๋ก๊ทธ์์ ์๋ฃ ํ ๋ฆฌ๋๋ ์ ๋ ์ฃผ์ | โ |
์์ URL:
https://kauth.kakao.com/oauth/logout
?client_id=195bf05ed2ad5782307199cda99c35d3
&logout_redirect_uri=http://localhost:8090/kakao/login
์ข ๋ฅ | API | ํ ํฐ ๋ง๋ฃ | ๋ธ๋ผ์ฐ์ ์ธ์ ๋ง๋ฃ | ๋ค์ ๋ก๊ทธ์ธ ์ ๋์ ์ฐฝ |
---|---|---|---|---|
๊ธฐ๋ณธ ๋ก๊ทธ์์ | /v1/user/logout | โ | โ | โ |
์ฐ๊ฒฐ ๋๊ธฐ | /v1/user/unlink | โ | โ | โ |
์นด์นด์ค๊ณ์ ๋ก๊ทธ์์ | /oauth/logout | โ | โ | โ |