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. 로그인
ㅇㅇㅇ
참고 자료
[SpringBoot + React] 카카오 소셜 로그인 REST API 방식 구현 - 2. 카카오 소셜 로그인 구조 분석
[SpringBoot + React] 카카오 소셜 로그인 REST API 방식 구현 - 2. 카카오 소셜 로그인 구조 분석 💡 목차 1. 카카오 소셜 로그인 사전 준비사항 2. 카카오 소셜 로그인 구조 분석 3. 구현 단계 글을 읽기
jonguk.tistory.com
'여니의 프로그래밍 study > Spring & Spring Boot' 카테고리의 다른 글
[Spring] 스프링 DI (의존, 의존주입, 조립기) - 1 (0) | 2023.07.23 |
---|---|
[Spring] 스프링 시작하기 (빌드 관리 도구, 메이븐, 그래들, 빈 객체, 컨테이너) (0) | 2023.07.16 |
Spring Boot 소셜 로그인 구현 (2) | feat. kakaoTalk (0) | 2023.06.24 |
SpringBoot 소셜 로그인 구현 (1) | feat. KakaoTalk (0) | 2023.06.24 |
Servlet에 대해 알아보자 (0) | 2023.05.04 |