ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OAuth - Client Credentials Grant Type
    concept/server 2020. 11. 3. 00:19

    educative 를 번역, 요약한 자료입니다.

     

    이 grant type은 기계 대 기계 authorization에 사용된다. 여기서는 유저가 관여하지 않는다.

    마이크로 서비스 아키텍처를 따르는 애플리케이션이 있다고 가정해보자. 애플리케이션은 작은 부분으로 나뉘고 각 부분은 별도의 서버에 배포된다.

     

    한 내부 서버가 다른 서버의 일부 데이터에 액세스해야 하는 경우, client credentials grant type을 사용할 수 있다.

     

    Client Credentials grant type working

     

    1단계 : Token request

    여기서는 직접 토큰 요청이 있다. 유저가 관여하지 않기 때문에 클라이언트가 직접 HTTP POST 요청을 Authorization 서버로 전송한다. 

     

    request query 파라미터는 다음과 같다

    1. grant_type

    클라이언트 자격 증명을 사용하여 액세스 토큰을 요청하므로 이 매개 변수에는 client_credentials가 포함될 것이다.

    2. client_id

    client id

    3. client_secret

    client secret

    4. scope

    요청되는 리소스를 정의하는 optional 한 파라미터

     

    request의 모습은 다음과 같다

    POST /token/endpoint HTTP/1.1
     
      Host: authserver.dummy.com
     
    grant_type=client_credentials
    &client_id=12345
    &client_secret=gh5Gdkj743HFG45udbfGfs
    &scope=images_read

     

    2단계 : Token response

     

    클라이언트 자격 증명이 유효한 경우 인증 서버에서 토큰을 반환한다.

     

    response의 모습은 다음과 같다.

    HTTP/1.1 200 OK
    Content-Type: application/json
     
    {
      "access_token":"YT3774ghsghdj6t4GJT5hd",
      "token_type":"bearer",
      "expires_in":3600,
      "refresh_token":"YT768475hjsdbhdgby6434hdh",
      "scope":"images_read"
    }

     

     

    'concept > server' 카테고리의 다른 글

    OAuth - Refresh Token Grant  (0) 2020.11.03
    OAuth - Resource Owner Credentials Grant  (0) 2020.11.03
    OAuth - Implicit Grant Type (암시적 승인 타입)  (0) 2020.11.02
    OAuth - Authorization Code Grant Type  (0) 2020.11.02
    OAuth 2.0 Intro, 용어  (0) 2020.11.02

    댓글

Designed by Tistory.