Skip to main content
Customer Provided Signing Key は現在、早期アクセスの段階です。詳しくは、Product Release Stages をご覧ください。Customer Provided Signing Keys に参加するには、Enterprise plan への加入が必要です。詳細については、担当の Technical Account Manager までお問い合わせください。
Auth0 は、トークンが Auth0 によって発行されたことを保証するために、に署名する暗号鍵を使用します。Auth0 は秘密署名鍵でトークンに署名し、その公開鍵をテナントの「well-known」 Key Set (JWKS) エンドポイント https://{yourDomain}/.well-known/``jwks.json で公開します。 独自の署名鍵を生成した場合は、その公開鍵をテナントの /.well-known JWKS エンドポイントにインポートできます。Auth0 は、Auth0 の署名鍵とカスタム署名鍵の両方について、単一の配布ポイントとして機能できます。ビジネス上の要件として、アプリケーションをリモートデバイスに埋め込む必要がある場合は、既存の署名鍵を移行し、Auth0 がお客様の /.well-known エンドポイントで公開鍵を公開できるようにすることが可能です。 カスタム署名鍵を使用したアクセストークンが、ユーザーの認証との結果として発行される場合:
  • お客様が生成して提供した署名鍵の保護は、Auth0 の Key Management System が担います。
  • Auth0 は、として、認証と認可 のためのトークンを発行します。
  • Auth0 は、有効な公開鍵のリストをテナント固有の配布 URL で公開します。
  • プロキシソリューションは Auth0 が発行したトークンを受け取り、レガシーアプリケーションや API で利用できるようにします。
    お客様の鍵で署名されたトークンは、Auth0 APIs では使用できません。
  • お客様のアプリケーションは、発行されたアクセストークンを使用して API やリソースを利用します。
  • API とリソースサーバーは、提示されたアクセストークンの署名を検証するために、Auth0 の JWKS 配布から公開鍵を取得してトークン署名の検証を行います。

仕組み

  1. 署名鍵の公開部分が Auth0 にインポートされ、集約された JWKS として Auth0 のキーに公開待ちの状態で登録されます。
  2. 公開署名鍵は、テナントのカスタムドメインの well-known エンドポイント {yourCustomDomain}/.well-known/jwks.json に公開されます。
  3. Auth0 はアクセストークンを発行します。これらのトークンはカスタマイズされ、あなたの署名鍵で再署名されます。
  4. あなたのアプリケーションは、API などのリソースにアクセスするために、カスタマイズされたトークンを使用します。
  5. Auth0 は /.wellknown エンドポイントに公開することで、あなたのキーを配布します。

前提条件

Auth0 にカスタム署名鍵をインポートするには、次の要件を満たしている必要があります。
  • を設定していること。集約された JWKS はカスタムドメインから提供されるため、正規ドメインでは利用できません。詳細については、Custom Domains. を参照してください。
  • Auth0 の Private Cloud を使用していること。署名鍵をインポートできるのは Private Cloud 環境のみです。詳細については、AWS および Azure の Private Cloud に関するドキュメントを参照してください。

Management API でカスタムキーを設定する

JWKS 形式でカスタムキーをアップロードするには、 を使用します。 新しいカスタムキーを作成するには (既存のものをすべて置き換えます) 、Create or replace custom signing keys エンドポイントに PUT リクエストを送信し、カスタム公開鍵のセットを Auth0 にインポートします。既存のカスタムキーは新しいセットに置き換えられます。JWKS 形式で最大 10 個のカスタムキーをインポートできます。
インポートされると、カスタム公開鍵は Auth0 が生成した鍵の一覧の先頭に追加され、JWKS を配布するためのテナントの well-known エンドポイント URL で公開されます。
既存のカスタムキーの一覧を取得するには、Get custom signing keys エンドポイントに GET リクエストを送信し、JWK オブジェクトの配列としてカスタムキーのセットを取得します。 既存のカスタムキーを削除するには、Delete custom keys エンドポイントに DELETE リクエストを送信して、カスタムキーを削除します。