OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.
장점은 뭐냐면요
- 사용자 비밀번호를 직접 전달/저장하지 않기 때문에 자격 정보가 노출될 위험을 줄임
- 토큰 기반 인증으로 권한 부여 및 제한이 쉬움
- 사용자 경험에서는 로그인 절차가 간소화되고, 동일한 계정으로 여러 서비스 로그인이 가능해져 편함
구성요소는요
* 자원(개인정보)을 소유하는 주체인 Resource owner
* 가입하고자 하는 서비스의 애플리케이션 서버 (Client)
* 접근권한 부여하고 응답을 반환하는 서버 (Authorization Server)
동작 메커니즘은요
STEP0. 통합 로그인 페이지 접속 및 로그인 요청
- client (서비스 제공 서버)에서는 로그인 페이지로 유저를 리다이렉트시켜줍니다
STEP1. OAuth 인가 코드 받기
- Authorization code를 서버가 발급해줍니다
STEP2. 토큰 받기 및 사용자 로그인 처리
- authorization code으로 access token을 서버에 요청합니다
- access token이 발급되면 서비스 제공 서버에서 로그인 성공 처리를 함
STEP3. 로그인된 사용자
- access token의 expiration date 전까지는 리소스 서버 내 자신의 정보들에 접근 가능
참고로 카카오 간편 로그인 flow는요
정리하자면 제3서비스에게 리소스에 대한 허가를 구하는 프로세스네요 ~
'web > snulion' 카테고리의 다른 글
WAS, WSGI, ASGI에 대해 araboza (0) | 2024.11.02 |
---|---|
websocket에 대해 araboza (0) | 2024.11.02 |
카카오페이를 이용한 간편결제에 대해 araboza (6) | 2024.10.05 |
상태관리에 대해 araboza (2) (1) | 2024.10.05 |
상태관리에 대해 araboza (1) | 2024.09.25 |