IDプロバイダー(IdP)のアクセストークンは、検証不要です。IdPのアクセストークンを検証するには、発行元のIdPに渡します。詳細については、「IDプロバイダーのアクセストークン」を参照してください。
401 Unauthorizedの結果で拒否します。
- 標準のJWT検証を行います。 アクセストークンはJWTであるため、標準のJWT検証手順を実行する必要があります。詳細については、「JSON Web Tokenを検証する」を参照してください。
-
トークンのオーディエンスクレームを検証します。 標準のJWT検証を行ったのであれば、すでにJWTのペイロードをデコードし、その標準クレームを確認したはずです。トークンのオーディエンスクレーム(
aud、文字列の配列)は当初のトークン要求に依存します。audフィールドには、カスタムAPIに対応するオーディエンスと/userinfoエンドポイントに対応するオーディエンスの両方を含めることができます。トークンの少なくとも1つのオーディエンス値が、対象APIの一意の識別子と一致しなければなりません。この識別子はAPIの設定の**[Identifier(識別子)]** フィールドで定義されています。詳細については、「アクセストークンを取得する」を参照してください。 -
権限(スコープ)を確認します。 APIへのアクセスに必要な権限がアプリケーションに付与されていることを確認しますこれを行うには、JWTのペイロードで
scopeクレーム(scope、スペース区切りの文字列リスト)を確認する必要があります。アクセスするエンドポイントで求められる権限と一致している必要があります。たとえば、カスタムAPIがユーザーレコードの読み取り・作成・削除用に3つのエンドポイントを提供している場合は、Auth0でAPIを登録した際に対応する3つの権限が作成されています。create:usersは/createエンドポイントにアクセスできるようにしますread:usersは/readエンドポイントにアクセスできるようにしますdelete:usersは/deleteエンドポイントにアクセスできるようにします
/createエンドポイントにアクセスを要求しますが、 アクセストークンのscopeクレームにcreate:usersが含まれていないため、APIが要求を拒否します。