web/snulion

OAuth 2.0에 대해 araboza

민사민서 2024. 9. 25. 19:25

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' 카테고리의 다른 글

카카오페이를 이용한 간편결제에 대해 araboza  (5) 2024.10.05
상태관리에 대해 araboza (2)  (1) 2024.10.05
상태관리에 대해 araboza  (1) 2024.09.25