メインコンテンツへスキップ
この Discovery エンドポイントを使用すると、すべての Auth0 発行 (JWT) に RS256 で署名するために使用される JWKS を含む JSON Web Key Set (JWKS) エンドポイント (jwks_uri) を、アプリケーションまたは API が自動的に特定できるよう設定できます。エンドポイントは次の場所にあります。 https://{yourDomain}/.well-known/openid-configuration. JWKS を使用して JWT を検証 する場合は、次の作業が必要です。
  1. Auth0 Discovery エンドポイントから JWKS を取得し、署名鍵の候補を絞り込みます (たとえば、公開鍵がないキーや kid プロパティを持つキー) 。
  2. デコードした JWT のヘッダーから kid プロパティを取得します。
  3. 絞り込んだ JWKS から、一致する kid プロパティを持つキーを検索します。
  4. JWKS 内の対応する x5c プロパティを使用して証明書を作成します。
  5. その証明書を使用して JWT の署名を検証します。
JWKS を使用して JWT の署名を検証する例については、Navigating RS256 and JWKS (Node.js を使用) を参照するか、Backend/API Quickstarts を確認してください。 JWT の構造の詳細については、JSON Web Token の構造 を参照してください。 JWKS には複数の署名鍵が存在する可能性を前提にするのがベストプラクティスです。Auth0 の JWKS エンドポイントには通常 1 つの署名鍵しか含まれないため、不要に思えるかもしれません。しかし、署名証明書をローテーションしている場合は、JWKS に複数のキーが含まれることがあります。 アプリケーションのパフォーマンスを向上させ、rate limits に達するのを避けるため、署名鍵をキャッシュすることをお勧めします。ただし、トークンのデコードに失敗した場合は、1 回だけ 再試行する前に、キャッシュを無効化して新しい署名鍵を取得するようにしてください。

さらに詳しく