アクセストークンを使用する

トークンベースの認証では、アプリケーションによるAPIへのアクセスを許可するためにアクセストークンが使用されます。たとえば、カレンダーアプリケーションは、ユーザーの予定イベントの読み出しや新規イベントの作成を行うのに、クラウドにあるカレンダーAPIにアクセスする必要があります。

アプリケーションがアクセストークンを受け取ったら、API要求を行うときにそのトークンを資格情報として含めます。これを行うには、アクセストークンをベアラー資格情報としてHTTP認可ヘッダー内に含めて、APIに渡す必要があります。

例:

GET /calendar/v1/events
    Host​: api.example.com
    
    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuYXV0aDAuY29tLyIsImF1ZCI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2NhbGFuZGFyL3YxLyIsInN1YiI6InVzcl8xMjMiLCJpYXQiOjE0NTg3ODU3OTYsImV4cCI6MTQ1ODg3MjE5Nn0.CA7eaHjIHz5NxeIJoFK9krqaeZrPLwmMmgI_XiQiIkQ

Was this helpful?

/

この例では、アクセストークンはJWTで、以下のクレームにデコードされます。

{
      "alg": "RS256",
      "typ": "JWT"
    }
    .
    {
      "iss": "https://example.auth0.com/",
      "aud": "https://api.example.com/calendar/v1/",
      "sub": "usr_123",
      "scope": "read write",
      "iat": 1458785796,
      "exp": 1458872196
    }

Was this helpful?

/

このトークンでAPIへのアクセスを許可する前に、APIはアクセストークンを検証しなければなりません。

アクセストークンが正常に検証されると、APIが以下を確認します。

  • トークンがAuth0によって発行された

  • トークンがusr_123の識別子を持つユーザーの使用アプリケーションに対して発行された

  • ユーザーがカレンダーの読み取りおよび書き込み権限をアプリケーションに付与した

これで、APIはアプリケーションにユーザー「usr_123」のカレンダーの読み取りと書き込みを許可し、要求を処理することができます。

もっと詳しく