일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- LeetCode SQL
- 구글로그인
- 자바8
- kotlin 클래스
- 프로그래머스
- 스프링시큐리티
- 자바스크립트
- 코틀린 클래스
- spring boot
- oauth2
- 스프링
- SQL프로그래머스
- js
- SQL
- springboot
- Leetcode
- Spring
- SQL 문제풀이
- 스프링부트
- javascript
- java8
- 자바 스트림
- 오라클
- 스프링부트 채팅서버
- pygame
- 파이게임
- python
- mysql
- MSA
- oracle
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[Spring Boot] 카카오로그인 Token값 받기까지 기록 본문
728x90
카카오로그인 작업중
oauth2로 추후 변경예정
구글 페이스북 등등 다해버리자
RestAPI같은 방식으로 회사에서 많이해서그런지 익숙하다
역시 RestTemplate 사용하는 방식이 편하다
카카오로그인 토큰요청까지 작업함
필요한 내용 주석달았음
카카오에서 제공하는 로그인버튼 넣었더니 간지작살난다
@GetMapping("/auth/kakao/callback")
public @ResponseBody String kakaoCallback(String code){
// POST방식으로 key=value 데이터 요청(카카오쪽으로 찌른다)
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
// HttpBody 오브젝트 생성
// 일단 param들 변수화 안함.. 추후 예정
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("grant_type", "authorization_code");
params.add("client_id", "카카오에서 제공받은 KEY 입력");
params.add("redirect_uri", "http://localhost:8000/auth/kakao/callback");
params.add("code", code);
// HttpHeader와 HttpBody를 하나의 오브젝트로 담는다
HttpEntity<MultiValueMap<String,String>> kakaoTokenRequest =
new HttpEntity<>(params, headers);
// 실제요청
ResponseEntity<String> response = restTemplate.exchange(
"https://kauth.kakao.com/oauth/token",
HttpMethod.POST,
kakaoTokenRequest,
String.class
);
System.out.println("response : ");
System.out.println(response.toString());
return "kakao token response : " + response;
}
내일쯤 카카오로그인 완료 예상
728x90
'Spring' 카테고리의 다른 글
[Spring Boot] oauth2 로그인 간략정리 (0) | 2021.02.21 |
---|---|
[Spring Boot] oauth2 google 로그인 1 (3) | 2021.02.17 |
[Spring Boot] spring security 기록용2 (회원수정 관련) (2) | 2021.02.12 |
[Spring Boot] spring security 기록용 (1) | 2021.02.12 |
[Spring Boot] 스프링부트 타임리프 (thymeleaf) 정리 (1) | 2021.02.05 |
Comments