Documentation Index Fetch the complete documentation index at: https://auth0-feat-ionic-capacitor-quickstart-modernization.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
ハイリーレギュレーテッドアイデンティティ機能を使用するには、エンタープライズプランとハイリーレギュレーテッドアイデンティティアドオンが必要です。詳細については、「Auth0の価格設定 」を参照してください。
デフォルトでは、Auth0は、署名されたJSON Web Token (JWT) としてフォーマットされたアクセストークンを発行します。つまり、完全性は保護されていますが、それでもなおクライアントおよびその他仲介者が検査できることを意味します。これは、リソースサーバーにのみ公開されることを意図しているデータの情報プライバシーの損失につながる可能性があります。
アクセストークンの無許可の検査を防止するために、Auth0は、ネストされたJWT アクセストークの使用をサポートしています。これは、アクセス情報がJWTにサインインされ、その後暗号化されて、JSON Web Encryption(JWE)で表されます。情報がその他の当事者にとっては不明瞭であるものの、リソースサーバーは、これらアクセストークンの解読とJWTペイロードの署名の検証の両方を行うことが期待されます。
RSA鍵ペアの生成
JWEを使用するためにAPIを構成する前に、RSA鍵ペアを生成する 必要があります。
秘密鍵は、秘密に保つ必要があります。RSA鍵ペアの生成 で説明されている通りに、Auth0にPEMフォーマットでエンコードされた公開鍵をアップロードします。リソースサーバーまたはAPIサーバーのみが、秘密鍵に安全にアクセスして、アクセストークンを解読できます。
APIに対するJWEの構成
Auth0 Dashboard
Management API
Auth0 Dashboard を使用して、APIに対するJWEを構成します。まず、APIに対して、[Token Settings(トークン設定)] の下にある ** JSON Web Encryption(JWE)** を有効にします。要求されたら、JSON Web Encryption(JWE)キーを追加します。
識別しやすいように、わかりやすい名前を入力します。
PEM形式でエンコードされた公開鍵を持つ証明書をアップロードします。
暗号化アルゴリズムを選択します。
(任意)キー識別子を入力します。
[Add(追加)] をクリックし、JWEキーを保存することで、証明書のサムプリントが生成されます。Auth0 Management API を使用して、リソースサーバーまたはAPIサーバーに対するJWEを構成します。各APIが暗号化公開鍵を持つように、それぞれに対するJWEを構成する必要があります。次のPOST要求は、暗号化されたアクセストークンを受け取る新しいAPIを構成します。 curl -X POST --location "https://{domain}/api/v2/resource-servers" \
-H "Authorization: Bearer {managementAccessToken}" \
-H "Content-Type: application/json" \
--data-raw '{
"name" : "{apiName}" ,
"identifier" : "{apiIdentifier}" ,
"token_encryption" : {
"format" : "compact-nested-jwe" ,
"encryption_key" :
{
"name" : "{credentialName}" ,
"pem" : "{pem}" ,
"alg" : "{alg}" ,
"kid" : "{kid}"
}
}
}'
次のテーブルでは、異なるパラメーターの意味について説明します。 パラメーター 必須? 説明 apiName必須 新しいAPIの名前。 apiIdentifier必須 APIの一意のID。これはトークンオーディエンスとして使用されます。 credentialName任意 公開鍵の名前。 pem必須 PEM形式で暗号化された公開鍵。 alg必須 暗号化アルゴリズムは、RSA-OAEP-256、RSA-OAEP-384、RSA-OAEP-512のいずれかである必要があります。 kid任意 JWEトークンのkidヘッダーへの書き込みに使用されるID。これは、キーのローテーション中の暗号化に使用されるキーの識別に使用することができます。
応答には、リソースサーバーを一意に識別するidプロパティを含みます。また、応答には、資格情報の識別に使用できる、生成されたthumbprint_sha256フィールドも含みます。Auth0は最初の作成後(この場合、PEM)に、キーマテリアルを返しません。 thumbprint_sha256を生成する方法はいくつもあります。詳細については、「RFC 8705 OAuth 2.0相互TLSクライアント認証と証明書バウンドアクセストークン 」を参照してください。正しいthumbprint_sha256を生成できるように、次のNode.jsのコードサンプルを使用してサムプリントを抽出できます。 const fs = require ( 'fs' );
const crypto = require ( 'crypto' );
const { calculateJwkThumbprint , exportJWK } = require ( 'jose' );
const publicKeyObject = crypto . createPublicKey ( fs . readFileSync ( './my_cert.pem' ));
exportJWK ( publicKeyObject ). then (( jwk ) => {
calculateJwkThumbprint ( jwk , 'sha256' ). then (( thumbprint ) => {
console . log ( thumbprint );
});
});
もっと詳しく