관리 메뉴

개발노트

Oauth 2.0 본문

web

Oauth 2.0

YoonGwon 2022. 11. 1. 10:56

OAuth2 개념

OAuth 2.0(Open Authorization 2.0, OAuth2)는 인증을 위한 개방향 표준 프로토콜이다.

이 프로토콜에서는 Third-Party 프로그램에게 리소스 소유자를 대신해 리소스 서버에서 제공하는 자원에 대한

접근 권한을 위임하는 방식으로 작동되며 구글, 페이스북 등 외부 소셜 계정을 기반으로 간편하게 인증하는 기능이다.

OAuth2 제공자

  • 구글
  • 페이스북
  • 카카오
  • 네이버

먼저 알아야 할 용어

  • Authentication(인증) 인증, 접근 자격이 있는지 검증하는 단계
  • Authorization(인가) 자원에 접근할 권할을 부여하고 리소스 접근 권한이 있는 Acess Token을 제공
  • Access Token 리소스 서버에게서 정보를 획득할 때 사용되는 토큰으로, 만료 기간이 있는 Token
  • Refresh Token Acess Token이 만료 시 재발급 받기 위한 용도로 사용하는 Token

OAuth2 역할 별 용어

  • client 우리가 개발한 서비스(service), 어플리케이션(Application)을 뜻함.
  • Resource Owner 리소스 소유자이며, 자격을 승인하는 주체이다. 예시로 구글 로그인을 할 사용자를 뜻함
  • Reousrce Server 구글, 페이스북, 카카오, 네이버 등 회사를 의미함. client와 Reource Owner가 사용하는 자원들을 관리하며 유효성을 체크함.
  • Authorization Server 권한을 부여해주는 서버. 사용자 → ID, PW를 넘겨 Authorization Code를 발급 받을 수 있다. Client → Authorization Code를 넘겨 Token을 발급 받을 수 있다.

시퀀스 다이어그램 플로우

(PAYCO 개발자 센터)

그림에는 Refresh Token이 없지만, Access Token을 발급 해 주면서 Refrsh Token 또한 같이 발급된다.

Access Token이 만료 될 시 Refresh Token을 사용하여 재로그인 없이 Access Token을 재발급 받는다.

 

728x90

'web' 카테고리의 다른 글

HTTP 와 HTTPS 의 차이  (0) 2022.02.25
SSL이란? & SSL 동작방식  (0) 2021.11.01