OAuth 2.0

강지원·2021년 11월 19일
0
post-thumbnail

Id와 Password를 작성해 로그인하는 기존의 로그인 방식 말고
네이버나 카카오 API를 사용한 Social Login 작업을 진행하게 되었다.
이에 필요한 개념을 먼저 학습해야 했고, 그 첫번째 개념이
오늘 포스팅 할 OAuth이다.

1. Oauth

다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜

네이버와 카카오, 구글과 같은 제 3의 서비스 앱이 리소스 보유자인
사용자를 대신해 서비스를 요청할 수 있도록 리소스 접근 권한을
위임하는 방법이다.

Oauth를 이해하기 위해선 필수적으로 알아야 할 단어들이 있다.

  1. Resource Server
    : OAuth2.0 서비스를 제공하고, 자원을 관리하는 서버
    ex) 구글, 카카오톡과 같은 서비스 앱

  2. Resource Owner
    : Resource Server의 계정을 갖고 있는 사용자
    ex) 서비스를 이용하려는 사람, 유저

  3. Client
    : Resource Server의 API를 사용하여 데이터를 가져오려고 하는 사이트
    ex) API를 이용해보려고 내가 만든 웹페이지

  4. Autorization Server
    : Client가 Resource Server의 서비스를 사용할 수 있게 인증하고
    토큰을 발행해주는 서버
    ex) 인가 서버. 구글, 카카오톡과 같은 서비스 웹

  5. Authentication Server
    : 실제로 로그인 서비스를 제공하는 서버
    ex) 인증 서버. 구글, 카카오톡과 같은 서비스 웹

2. Oauth의 인증, 인가 과정

1~5 단계는 Authorization Code 발급 요청 URL을 통해 진행

7~8 단계는 서비스에서 callback URL 을 통해 전달받은 Authorization Code를 사용하여 Access Token 요청 API를 통해 진행

8 단계에서 발급받은 Access Token은 서비스에서 자체적으로 저장, 관리

10~11 단계에서 사용자의 서비스 요청 시 회원정보가 필요하다면 Access Token을 사용해 API를 호출

(이것만큼 설명이 잘 되어있는 것이 없었다)

Reference
PAYCO 개발자 센터
OAuth 프로토콜의 이해
OAuth 알아보기

profile
'Why' better than 'Yes'

0개의 댓글

관련 채용 정보