[WEB] 3)OAuth2.0 : 사용되는 데이터

이지연·2024년 4월 5일
0

WEB

목록 보기
3/4
post-thumbnail

1. 사용되는 데이터 종류

OAuth2.0에서 사용되는 데이터가 있다. 앞에서 언급이 조금씩 되었는데, 여기서 정리를 하고 짚고 넘어가면 좋을 듯 하다.

1) APP Info(앱 정보)

  • OAuth2.0을 사용하고자 하는 앱은 사전에 권한 제공자에게 앱에 대한 정보를 등록해야함

  • 일반적으로 앱에서 제공할 서비스의 명칭, 사이트 주소, Redirect URI 등의 기본 정보를 등록함

<정보 등록>
1) 클라이언트 앱의 기본 정보는 아래와 같다.

  • 앱 이름: 앱을 추가할 때 지정하는 앱 이름
  • 앱 설명: 앱에 관한 설명

2) 클라이언트 자격 증명 및 권한 범위는 아래와 같다.

  • Client ID: 앱을 식별하는 ID
  • Client Secret: Client ID와 함께 사용되는 비밀 정보
  • OAuth Scope: 앱의 리소스 액세스 권한 범위

3) 구성원 계정 인증에 필요한 정보는 아래와 같다.

  • Redirect URL: 구성원 계정 인증에서 사용자 인증에 성공하면 입력한 Redirect URL로 Authorization Code가 전송됨

4) 서비스 계정 인증에 필요한 정보는 아래와 같다.

  • Service Account: 가상 관리자 계정
  • Private Key: Service Account와 함께 사용되는 개인 키

참고: NAVER WORKS - 클라이언트 자격 정보 관리 및 설정에서 자세히 설명되어있음

2) Redirect URI

  • Resource Owner(권한 제공자)는 사용자가 앱에게 권한을 부여하는 것에 대해 동의를 하면 사용자를 앱 정보 중에 하나인 Redirect URL로 이동시킴

  • 사전에 등록된 앱 정보의 Redirect URI가 아닌 다른 URI이면 이동되지 않음

  • Redirect URI로 이동할 때 Resource Owner(권한 제공자)는 authorization code(임시 승인 코드)를 담아 보냄

3) Authorization code

  • 앱(Client)이 권한 제공자(Authorization Server)에게 사용자(Resource Owner)로부터 여러 기능(scope)에 대해 사용할 것을 동의를 받았다고 요청을 보내면 권한 제공자는 앱의 Redirect URI로 사용자를 이동시킬 때 Authorization code를 담아 이동시킴

4) Client ID, Client Secret

  • Client ID: 앱(서비스)을 식별하는 식별자
  • Client Secret: Client ID에 대한 비밀번호로 외부에 노출되어서는 안되는 값

5) Access Token & Refresh Token

  • 앱(Client)은 권한 제공자(Authorization Server)에게 받은 Access Token을 이용해 데이터 제공자(Resource Server)에게 데이터 요청을 함

  • 데이터 제공자(Resource Server)는 요청 값에 담긴 Access Token을 확인하여 데이터를 제공하거나 제공하지 않을 수 있음

  • Access Token은 보통 유효 기간이 짧게 발행되는데, 만료되었을 경우에는 Refresh Token으로 권한 제공자에게 간단하게 신규 Access Token을 재발급 받을 수 있음

profile
Everyday STEP BY STEP

0개의 댓글

관련 채용 정보