OAuth 2.0[2021.10.22]


1. OAuth


認証用の標準プロトコルです.
전통적으로 직접 작성한 서버에서 인증을 처리해주는 것과는 달리,
OAuth는 인증을 중개해주는 메커니즘
보안된 리소스에 액세스하기 위해 클라리언트에게 권한을 제공하는 
프로세스를 단순화하는 프로토콜

이미 사용자 정보를 가지고 있는 웹 서비스에서 사용자의 인증을
대신해주고, 접근 권한에 대한 토큰을 발급한 후 이를 이용해 
내 서버에서 인증이 가능해짐

2.OAuthで理解すべき用語

1. Resource Owner
  - 액세서 중인 리소스의 유저

2. Client 
  - 리소스 오너를 대신하여 보호된 리소스에 액세스하는 응용프로그램
  
3. Resource server
  - 유저의 리소스를 가지고 있는 서버 
  - 클라리언트의 요청을 수락하고 응답할 수 있는 서버
  - Authorization server를 통해서 액세스 토큰을 발급 받음
  
4. Authorization server
  - Resource server가 액세스 토큰을 발급받는 서버
  - 클라이언트 및 리소스 소유자를 성공적으로 인증한 후 액세스 토큰을
    발급하는 서버

5. Authorization grant
  - 클라이언트가 액세스 토큰을 얻을 때 사용하는 자격 증명의 유형

6. Authorization code
  - 액세스 토킁르 발급받기 전에 필요한 code

7. Access token
  - 보호된 리소스에 액세스하는데 사용되는 credentials
  
8. Scope
  - 토큰의 권한을 정의 
  - 주어진 액세스 토큰을 사용하여 액세스할 수있는 리소스의 범위