어린왕자이야기

OAuth 2.0 Grant Type 본문

나의 취미/자바 이야기

OAuth 2.0 Grant Type

grandguy 2022. 5. 23. 22:25
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store

{
  "access_token":"MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
  "token_type":"Bearer",
  "expires_in":3600,
  "refresh_token":"IwOGYzYTlmM2YxOTQ5MGE3YmNmMDFkNTVk",
  "scope":"create"
}

1. Authorization code grant type
  - Authorization code 는 클라이언트가 접근 토큰과 교환하는 임시 코드
  - 인증서버에서는 authorization code를 사용하여 요청을 인증하거나 거부
  - 인증 코드 흐름은 다른 권한 부여 유형에 비해 몇 가지 이점을 제공합니다. 
  
  - 사용자가 응용 프로그램에 권한을 부여하면 URL에 임시 코드가 있는 응용 프로그램으로 다시 리디렉션됩니다. 
  - 응용 프로그램은 액세스 토큰에 대해 해당 코드를 교환합니다. 
  - 응용 프로그램이 액세스 토큰을 요청하면 클라이언트 암호를 사용하여 해당 요청을 인증할 수 있으므로 공격자가 권한 부여 코드를 가로채서 직접 사용할 위험이 줄어듭니다. 
  - 이는 또한 액세스 토큰이 사용자 또는 브라우저에 표시되지 않으므로 토큰을 응용 프로그램으로 다시 전달하여 토큰이 다른 사람에게 누출 될 위험을 줄이는 가장 안전한 방법입니다.
  
  - 사용자로부터 권한 부여를 요청
  - 인증코드로 할수 있는 유일한 작업은 액세스 토큰을 가지고 오는 것 뿐.
2. Password grant type
  - 어플리케이션은 사용자 ID와 패스워드를 사용하여 액세스 토큰을 가지고 온다.

3. client credentials grant type

  - 사용자 없이 어플리케이션간의 인증이 필요할 때 사용