본문 바로가기
웹 프로그래밍

Auth0 Token (ID tokens, Access tokens)

by Minius 2020. 10. 15.
반응형

 

{
  "iss": "http://YOUR_DOMAIN/",
  "sub": "auth0|123456",
  "aud": "YOUR_CLIENT_ID",
  "exp": 1311281970,
  "iat": 1311280970,
  "name": "Jane Doe",
  "given_name": "Jane",
  "family_name": "Doe",
  "gender": "female",
  "birthdate": "0000-10-31",
  "email": "janedoe@example.com",
  "picture": "http://example.com/janedoe/me.jpg"
}

auth0.com/docs/tokens

 

Auth0 Docs

Get started using Auth0. Implement authentication for any kind of application in minutes.

auth0.com

기본적으로 토큰은 두 종류가 있다.

  1. ID token
  2. Access token

ID Token

ID token은 JWT를 말하고, 오직 어플리케이션에서 쓰인다. 예를들어, 만약에 한 앱이 구글로그인을 사용하고 캘린더를 동기화하려고 하면, 구글은 유저에 대한 정보가 담긴 ID token을 보낸다. 앱은 토큰의 내용을 파싱하고 유저 경험에 맞게 수정하기 위해 이름이나 프로필 사진같은 정보를 사용한다.

API에 접근 권한을 얻을 용도로 ID token을 사용하지 말 것을 권한다. 적절하지 않고, 아래 Access token이 적절하다.

 

예시)

{
  "iss": "http://YOUR_DOMAIN/",
  "sub": "auth0|123456",
  "aud": "YOUR_CLIENT_ID",
  "exp": 1311281970,
  "iat": 1311280970,
  "name": "Jane Doe",
  "given_name": "Jane",
  "family_name": "Doe",
  "gender": "female",
  "birthdate": "0000-10-31",
  "email": "janedoe@example.com",
  "picture": "http://example.com/janedoe/me.jpg"
}

 

Access Token

Access token (항상 JWT는 아님)은 토큰 보유자가 API에 액세스하고 미리 결정된 일련의 작업 (부여 된 범위에 의해 지정됨)을 수행 할 권한이 있음을 API에 알리는 데 사용됩니다.

 

예시)

{
  "iss": "https://YOUR_DOMAIN/",
  "sub": "auth0|123456",
  "aud": [
    "my-api-identifier",
    "https://YOUR_DOMAIN/userinfo"
  ],
  "azp": "YOUR_CLIENT_ID",
  "exp": 1489179954,
  "iat": 1489143954,
  "scope": "openid profile email address phone read:appointments"
}

 

이외 특화된 토큰들이 있습니다.

Specialized tokens

There are three specialized tokens used in Auth0's token-based authentication scenarios:

  • Refresh tokens: A token used to obtain a renewed access token without having to re-authenticate the user.

  • IDP access tokens: Access tokens issued by identity providers after user authentication that you can use to call the third-party APIs.

  • Auth0 Management API access tokens: Short-lived tokens containing specific claims (scopes) that allow you to call Management API endpoints.

댓글