メインコンテンツへスキップ
JSON Web Encryption (JWE) は、JSON を使用して暗号化されたコンテンツを表現するための IETF 標準 です。Auth0 では、JWE 形式を使用して、 内の情報を暗号化するように API を設定できます。 JWE を使用すると、Auth0 は JSON Web Signature (JWS) で署名された一連のクレームを含む アクセストークンを生成します。この JWT アクセストークンはその後 JWE によって暗号化され、JWE Compact 形式でシリアライズされます。これにより、署名による完全性保護を確保しながら、アクセストークン内のクレームに含まれるデータの機密性を維持できます。

アクセストークンを生成して検証する

各 API の JWE を設定するapiIdentifier が JWE を使用するように設定されていることを前提に、このコードサンプルでは、マシン間 (M2M) アプリケーション向けに、クライアントクレデンシャルグラントを使用して暗号化されたアクセストークンをリクエストします。JWE は、Auth0 がサポートするすべてのグラントタイプで利用できます。
curl -X POST --location "https://{domain}/oauth/token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "client_id={clientId}&client_secret={clientSecret}&audience={apiIdentifier}&grant_type=client_credentials"
 正常なレスポンスには、暗号化されたアクセストークンが含まれます。
{
  "access_token": "eyJ…XAw",
  "expires_in": 86400,
  "token_type": "Bearer"
}
アクセストークンを使用する場合、は JWE トークンを復号して検証する必要があります。 JWE トークンヘッダーには、暗号アルゴリズム (alg) 、コンテンツ暗号化アルゴリズム (enc) 、および API を設定 する際に指定されている場合はペイロードの暗号化に使用されたキー ID (kid) を示すメタデータが含まれています。
{
  …
  "alg": "A256GCM",
  "enc": "RSA-OAEP-256",
  "kid": "my-kid"
}
この情報があれば、リソースサーバーで JWE トークンを復号できます。復号後は通常の署名付き JWT となり、Auth0 テナントのキーを使用して検証できます。 API で JWE を設定する方法については、JSON Web Encryption を設定する を参照してください。

詳細