- RS256 (RSA Signature with SHA-256): 非対称アルゴリズムです。つまり、鍵は 2 つあり、1 つは公開鍵、もう 1 つは秘密として保持する必要がある秘密鍵です。Auth0 は署名の生成に使用する秘密鍵を保持し、 の利用者は、Auth0 が提供するメタデータ エンドポイントから公開鍵を取得して JWT 署名を検証します。
- HS256 (HMAC with SHA-256): 対称アルゴリズムです。つまり、秘密として保持する必要がある鍵は 1 つだけで、その鍵を 2 者間で共有します。同じ鍵を署名の生成と検証の両方に使用するため、鍵が漏えいしないよう十分に注意する必要があります。この秘密鍵 (またはシークレット) は、アプリケーション () または API (署名シークレット) を登録し、HS256 署名アルゴリズムを選択したときに作成されます。
- PS256 (RSA Signature with SHA-256): 非対称アルゴリズムです。つまり、鍵は 2 つあり、1 つは公開鍵、もう 1 つは秘密として保持する必要がある秘密鍵です。Auth0 は署名の生成に使用する秘密鍵を保持し、JWT の利用者は、Auth0 が提供するメタデータ エンドポイントから公開鍵を取得して JWT 署名を検証します。RS256 とは異なり、同じ JWT ヘッダーとペイロードでも、署名は毎回異なります。
- RS256 では、秘密鍵の保持者 (Auth0) のみがトークンに署名でき、公開鍵を使って誰でもトークンが有効かどうかを確認できます。
- RS256 では、秘密鍵が漏えいした場合でも、新しいシークレットを使うためにアプリケーションや API を再デプロイすることなく、鍵のローテーションを実施できます (HS256 を使用している場合は再デプロイが必要です) 。
Okta または OpenID Connect (OIDC) の Enterprise 接続で Private Key JWT 認証を設定している場合は、追加の署名アルゴリズム を選択する必要があることがあります。