-
[SpringBoot] - 소셜로그인작동 원리Spring 2024. 7. 22. 23:53반응형
소셜 로그인 동작 원리
+-----------------+ +------------------------+ +------------------+ | | | | | | | 사용자 | | 애플리케이션 | | 소셜 로그인 제공자 | | | | | | (예: Google) | +--------+--------+ +-----------+------------+ +--------+---------+ | | | | 1. 로그인 버튼 클릭 | | |---------------------------->| | | | | | | 2. 인증 요청 | | |--------------------------->| | | | | | | 3. 사용자 로그인 및 승인 | | |<---------------------------| | | | | | 4. 인증 코드 수신 | | |<---------------------------| | | | | | 5. 인증 코드 교환 | | |----------------------------> | | | | | 6. 액세스 토큰 수신 | | |<---------------------------| | | | | | 7. 사용자 정보 요청 | | |----------------------------> | | | | | 8. 사용자 정보 수신 | | |<---------------------------| | | | | 9. 사용자 로그인 완료 | | |<----------------------------| | | | | +--------+--------+ +-----------+------------+ +--------+---------+ | | | | | | | 사용자 | | 애플리케이션 | | 소셜 로그인 제공자 | | | | | | (예: Google) | +-----------------+ +------------------------+ +------------------+
- 사용자 로그인 요청: 사용자가 웹사이트나 애플리케이션에서 "소셜 로그인" 버튼을 클릭합니다 (예: "Login with Google", "Login with Facebook").
- 인증 요청: 애플리케이션은 소셜 로그인 제공자(예: Google, Facebook, Naver)에게 인증을 요청합니다. 이 요청에는 애플리케이션의 클라이언트 ID, 리다이렉트 URI 등이 포함됩니다.
- 사용자 승인: 사용자는 소셜 로그인 제공자의 로그인 페이지로 리디렉션됩니다. 사용자는 자신의 소셜 미디어 계정으로 로그인하고 애플리케이션이 자신의 정보에 접근하는 것을 승인합니다.
- 인증 코드 수신: 소셜 로그인 제공자는 인증 코드와 함께 사용자를 애플리케이션의 리다이렉트 URI로 리디렉션합니다.
- 인증 코드 교환: 애플리케이션은 인증 코드를 사용하여 소셜 로그인 제공자에게 액세스 토큰을 요청합니다. 이 요청에는 애플리케이션의 클라이언트 시크릿도 포함됩니다.
- 액세스 토큰 수신: 소셜 로그인 제공자는 액세스 토큰을 애플리케이션에 반환합니다. 이 토큰은 사용자의 리소스에 접근하는 데 사용됩니다.
- 사용자 정보 요청: 애플리케이션은 액세스 토큰을 사용하여 소셜 로그인 제공자에게 사용자 정보를 요청합니다.
- 사용자 정보 수신: 소셜 로그인 제공자는 사용자 정보를 애플리케이션에 반환합니다.
- 사용자 로그인 완료: 애플리케이션은 반환된 사용자 정보를 사용하여 사용자를 로그인 상태로 설정하고, 필요한 경우 새로운 사용자 계정을 생성합니다.
반응형'Spring' 카테고리의 다른 글
SpringBoot 초간단 엑셀 다운로드 기능 구현(Apache POI) (0) 2024.10.25 [Spring boot] - 소셜로그인(Naver,Google) + 일반로그인 구현 (0) 2024.07.23 [SpringBoot] - 구글, 네이버 소셜로그인 구현 설정 (0) 2024.07.23 [Spring Boot] - 초간단 휴대폰 인증 기능 구현 (coolsms-건당20원) (0) 2024.06.14 [SpringBoot] - 이메일 인증 기능 구현(구글 SMTP) (0) 2024.06.13