署名鍵

推奨される署名アルゴリズム(RS256)を選択すると、Auth0は公開キー暗号化を使用してアプリケーションとの信頼を確立します。一般的には、公開鍵と秘密鍵のペアで構成される署名鍵を使用します。

署名鍵は、アプリケーションやAPIに送信されたIDトークン、アクセストークン、SAMLアサーション、およびWS-Fedアサーションを署名するのに使用されます。署名鍵は、署名付きJSON Webトークン(JWT)の署名を検証するために使用される既知の公開鍵を含むJSON Web鍵(JWK)です。JSON Web鍵セット(JWKS)は、認可サーバーによって発行され、RS256署名アルゴリズムを使用して署名されたすべてのJWTを検証するために使用される公開鍵を含む鍵のセットです。サービスはWebトークンの検証に1つのJWKのみを使用できますが、サービスが署名証明書をローテーションした場合は、JWKSに複数のキーが含まれることがあります。

仕組み

ユーザーがアプリケーションにサインインすると、ユーザーに関する情報を含むトークンが作成され、その秘密鍵を使用してトークンに署名してから、アプリケーションに送信されます。Auth0は、テナントごとに一意の秘密鍵を確保します。

トークンが有効で、Auth0から生成されたことを確認するために、アプリケーションは公開鍵を使用してトークンの署名を検証します。DashboardとManagement APIの両方を通じて、他のアプリケーションセキュリティキー管理機能を提供しています。

Auth0では、セキュリティ侵害が発生した場合に対処できるように、定期的にキーをローテーションすることをお勧めします。

その他のアプリケーション署名証明書を以下に示します。

Auth0 Dashboardを使用して、個々のアプリケーションのこの情報を取得することもできます。これを行うには、特定のアプリケーションの[Settings(設定)]ページに移動します。次に、[Advanced Settings(詳細設定)]を展開し、[Certificates(証明書)]タブを選択します。

ローテーションと失効のプロセスでは、個人の設定がサポートされ、アプリケーションの移行がスムーズに行われます。最初にアプリケーションを更新したい場合は、鍵をローテーションさせて失効させることができます。または、鍵をローテーションさせ、アプリケーションを更新して古い鍵を失効させる場合は、それを行うこともできます。

使用可能な鍵には、以下が含まれます。

  • Currently used(現在使用中):すべての新しいアサーションの署名に現在使用されているキー。

  • Previously used(以前使用):現在、すべての新しいアサーションに署名するために使用されているキー。このキーで生成されたアサーションは引き続き機能します。

  • Next in queue(待ち行列での後続):キューに登録され、アプリケーションの署名キーが次にローテーションされたときに現在のキーと置き換えられるキー。

制限事項

署名キーのローテーションには、他のAPIエンドポイントよりも小さいレート制限が適用されます。詳細については、[Management API Rate Limits(管理APIのレート制限)]をお読みください。

もっと詳しく