TIL

2023.11.28 TIL - OAuth란?

오늘 심화주차가 시작되면서 강의를 새로 받았다.

첫 강의는 소셜로그인부터 시작했다. 

 

소셜로그인은 OAuth 표준 인증 방식을 통해 구현되었습니다.

 

OAuth란?


Open Authorization의 약자입니다. 
애플리케이션이 특정 시스템의 보호된 리소스에 접근하기 위해,
사용자 인증(Authentication)을 통해 사용자의 리소스 접근 권한(Authorization)을 위임받는 것을 의미
합니다.
Authentication과 Authorization의 차이는 간단하게 다음과 같습니다.

 


OAuth 동작 흐름


OAuth를 활용한 카카오 로그인을 보면 다음과 같습니다.

 

 

 

1. 리소스 소유자(이하 유저)가 클라이언트 서비스를 이용하고자 이용 요청을 보냅니다.
2. 클라이언트는 검증 서버(카카오 인증서버) 에 액세스 토큰을 요청합니다.
3. 검증 서버는 유저에게 인가 동의를 요청합니다.
4. 유저는 인가 동의를 응답합니다.
5. 검증 서버는 리소스에 접근할 수 있는 액세스 토큰을 생성해 클라이언트로 전송합니다.
6. 클라이언트는 액세스 토큰을 저장합니다.
7. 클라이언트는 액세스 토큰을 가지고 리소스 서버(백엔드 서버)에 요청을 보냅니다.
8. 리소스 서버는 액세스 토큰의 유효성을 파악하고 나서, 요청한 리소스를 클라이언트에 응답합니다.
9. 클라이언트는 유저에 서비스 이용을 응답합니다.

728x90