アクセストークンを使用する
トークンベースの認証では、アプリケーションによる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
」のカレンダーの読み取りと書き込みを許可し、要求を処理することができます。