여니의 프로그래밍 study/Spring & Spring Boot

Spring Boot 소셜 로그인 구현 (3) | feat. kakaoTalk

여니's 2023. 7. 14. 21:58

https://eboong.tistory.com/653

 

SpringBoot 소셜 로그인 구현 (1) | feat. KakaoTalk

https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 1. Kakao De

eboong.tistory.com

https://eboong.tistory.com/654

 

Spring Boot 소셜 로그인 구현 (2) | feat. kakaoTalk

1. 개인정보 가져오는 프로세스 진행 kauth.kakao.com/oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code 이전 포스팅에서 만들었던 client_id와 redirect_url를 각각 넣어준다 (이때 대괄호

eboong.tistory.com


카카오 소셜 로그인을 구현하기 위한 작업은 위에서 모두 완료

이제 실제로 코드를 작성하여 기능을 구현

 

 

간단하게 프로세스 요약

 

[1] 인가 코드 발급 과정

1. 사용자(클라이언트) -> 서버 : 카카오 로그인 요청

2. 서버 -> 카카오 인증서버 : 인가 코드 요청

3. 카카오 인증서버 -> 사용자 : 사용자에게 로그인 요청

4. 사용자 -> 카카오 인증서버 : 사용자가 로그인

5. 카카오 인증서버 -> 사용자 : 동의 화면 출력

6. 사용자 -> 카카오 인증서버 : 동의함

7.  카카오 인증서버 -> 서버 : 인가 코드 발급 (Redirect URI로 전달함)

 

 

[2] 토큰 발급 과정

1. 서버 -> 카카오 인증서버 : 인가 코드를 넘겨주며 액세스 토큰 요청 

2. 카카오 인증서버 -> 서버 : 토큰 발급

 

 

[3] 사용자 로그인 (아직 미정)

 


1. 인가 코드 발급

카카오 소셜 로그인을 시도하면 보안상의 이유 + OAuth 2.0 프로토콜을 따르기 위해

카카오 인증 서버에서 인증 코드가 발급된다. 

 

OAuth 2.0 프로토콜이란?

: 사용자가 암호와 같은 자격증명을 공유하지 않고도

한 웹 사이트의 리소스에 대한 제한된 엑세스를

다른 웹 사이트에 부여할 수 있는 업계 프레임워크이다. 

 

인가 코드(Authorization Code)는 인증서버에서 발급하는 임시 코드

엑세스 토큰으로 교환된다.

 

엑세스 토큰(Access Token)은 사용자의 자격 증명을 직접 공유하지 않아도

플랫폼의 사용자 리소스(여기선 카카오)에 접근할 수 있도록 하는 자격 증명.

 

 


2. 토큰 발급

액세스 토큰 (Access Token)

: API 요청시 시 인증하고 승인하는 데 사용되는 수명이 짧은 토큰

 

 

 

리프레쉬 토큰 (Refresh Token)

: 액세스 토큰이 만료될 때 사용자에게 재인증을 요구하지 않고

인증 서버에서 새 엑세스 토큰을 요청할 때 사용되는 수명이 긴 토큰

 

 

리프레쉬 토큰은 액세스 토큰에 비해 보안 요구 사항이 높다.

왜나햐면 사용자 계정에 대한 장기적인 엑세스를 제공하기 때문이다. 

따라서 클리아언트 측에 안전하게 암호화해서 저장해야 한다. 


3. 로그인

ㅇㅇㅇ

 

 

 


참고 자료

https://jonguk.tistory.com/m/entry/SpringBoot-React-%EC%B9%B4%EC%B9%B4%EC%98%A4-%EC%86%8C%EC%85%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-REST-API-%EB%B0%A9%EC%8B%9D-%EA%B5%AC%ED%98%84-2-%EC%B9%B4%EC%B9%B4%EC%98%A4-%EC%86%8C%EC%85%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%EC%A1%B0-%EB%B6%84%EC%84%9D

 

[SpringBoot + React] 카카오 소셜 로그인 REST API 방식 구현 - 2. 카카오 소셜 로그인 구조 분석

[SpringBoot + React] 카카오 소셜 로그인 REST API 방식 구현 - 2. 카카오 소셜 로그인 구조 분석 💡 목차 1. 카카오 소셜 로그인 사전 준비사항 2. 카카오 소셜 로그인 구조 분석 3. 구현 단계 글을 읽기

jonguk.tistory.com