카카오 로그인 과정
- 3단계로 이루어져 있다.
- https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
- 카카오 인증 서버에서 제공해주는 토큰을 사용하는 것은 토큰 만료 기간 설정에 제약이 있어 자체 jwt 구현 및 운용 추천

Step1, Step2는 클라이언트에서 처리할 수 있음
- 백엔드에서는 클라이언트에서 넘겨주는 토큰을 가지고 인증 및 로그인 처리를 구현하면 되는데, Step1,2를 거치지 않으면 Step3도 구현할 수 없기 때문에 테스트할 수 있는 방법에 대해 정리했다.
Step1 & 2
- Kakao Developers 사이트에서 애플리케이션을 만들고 발급받은 restapiKey 와 지정한 redirectUrl 값을 잘 가져와서,
- 아래 url을 완성한다.
<https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=>{REST API KEY}&redirect_uri={RedirectURL}
3. 웹브라우저에 완성된 url을 넣어서 엔터치면 카카오 디벨로퍼에 입력했던 redirectUrl로 연결되는데, url에 추가적으로 code가 붙는다.

4. 이 코드 값을 복사해서 아래 url을 완성한다.
<https://kauth.kakao.com/oauth/token?client_id=>{RestAPI Key}&redirect_uri={redirectUrl}&code={받아온 코드}&grant_type=authorization_code
5. 동일하게 웹브라우저에서 url창에 넣고 엔터치면 아래와 같이 토큰을 얻을 수 있다.

6. 이렇게 발급받은 액세스 토큰을 가지고 아래와 같이 kakao 서버에 요청하여 유저의 정보를 알아낼 수 있다.

7. 알아낸 카카오의 유저 정보를 바탕으로 내가 만들고자 하는 서비스에서 유저를 특정하여, 로그인 로직을 구현할 수 있다.
- memberId를 반환하는 예시 코드.
@PostMapping("/members/oauth")
public Long oauth(@RequestBody MemberRequestDto.OAuthDTO request) throws ParseException
{
Member member = memberService.loginWithKakao(request);
return member.getId();
}

반응형
'Study' 카테고리의 다른 글
[Docker] 이미지 load 시 invalid tar header 오류 해결 (0) | 2024.12.10 |
---|---|
H2 DB 설치 및 사용 방법 (0) | 2022.06.16 |
카카오 로그인 과정
- 3단계로 이루어져 있다.
- https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
- 카카오 인증 서버에서 제공해주는 토큰을 사용하는 것은 토큰 만료 기간 설정에 제약이 있어 자체 jwt 구현 및 운용 추천

Step1, Step2는 클라이언트에서 처리할 수 있음
- 백엔드에서는 클라이언트에서 넘겨주는 토큰을 가지고 인증 및 로그인 처리를 구현하면 되는데, Step1,2를 거치지 않으면 Step3도 구현할 수 없기 때문에 테스트할 수 있는 방법에 대해 정리했다.
Step1 & 2
- Kakao Developers 사이트에서 애플리케이션을 만들고 발급받은 restapiKey 와 지정한 redirectUrl 값을 잘 가져와서,
- 아래 url을 완성한다.
<https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=>{REST API KEY}&redirect_uri={RedirectURL}
3. 웹브라우저에 완성된 url을 넣어서 엔터치면 카카오 디벨로퍼에 입력했던 redirectUrl로 연결되는데, url에 추가적으로 code가 붙는다.

4. 이 코드 값을 복사해서 아래 url을 완성한다.
<https://kauth.kakao.com/oauth/token?client_id=>{RestAPI Key}&redirect_uri={redirectUrl}&code={받아온 코드}&grant_type=authorization_code
5. 동일하게 웹브라우저에서 url창에 넣고 엔터치면 아래와 같이 토큰을 얻을 수 있다.

6. 이렇게 발급받은 액세스 토큰을 가지고 아래와 같이 kakao 서버에 요청하여 유저의 정보를 알아낼 수 있다.

7. 알아낸 카카오의 유저 정보를 바탕으로 내가 만들고자 하는 서비스에서 유저를 특정하여, 로그인 로직을 구현할 수 있다.
- memberId를 반환하는 예시 코드.
@PostMapping("/members/oauth")
public Long oauth(@RequestBody MemberRequestDto.OAuthDTO request) throws ParseException
{
Member member = memberService.loginWithKakao(request);
return member.getId();
}

반응형
'Study' 카테고리의 다른 글
[Docker] 이미지 load 시 invalid tar header 오류 해결 (0) | 2024.12.10 |
---|---|
H2 DB 설치 및 사용 방법 (0) | 2022.06.16 |