Passer au contenu principal
JSON Web Encryption (JWE) est une norme de l’IETF qui permet de représenter du contenu chiffré au moyen de JSON. Dans Auth0, vous pouvez configurer des API pour chiffrer les informations contenues dans un au format JWE. Lorsque JWE est utilisé, Auth0 génère un jeton d’accès contenant un ensemble de revendications signées à l’aide de JSON Web Signature (JWS). Ce jeton d’accès JWT est ensuite chiffré à l’aide de JWE, puis sérialisé au format compact JWE. Cela permet de préserver la confidentialité des données contenues dans les revendications des jetons d’accès, tout en assurant aussi la protection de leur intégrité au moyen d’une signature.

Générer et valider un jeton d’accès

Configurer JWE pour chaque API. Si vous avez configuré apiIdentifier pour utiliser JWE, l’exemple de code demande un jeton d’accès chiffré au moyen du type d’octroi des identifiants de l’application pour une application machine à machine (M2M). JWE est offert pour tous les types d’octroi pris en charge par 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"
 Une réponse valide contient un jeton d’accès chiffré :
{
  "access_token": "eyJ…XAw",
  "expires_in": 86400,
  "token_type": "Bearer"
}
Lorsqu’un jeton d’accès est utilisé, le doit déchiffrer et valider le jeton JWE. L’en-tête du jeton JWE contient des métadonnées qui décrivent l’algorithme cryptographique (alg), l’algorithme de chiffrement du contenu (enc) et, s’il est fourni lors de la configuration de l’API, l’identifiant de clé (kid) utilisé pour chiffrer le payload.
{
  …
  "alg": "A256GCM",
  "enc": "RSA-OAEP-256",
  "kid": "my-kid"
}
À l’aide de ces renseignements, le serveur de ressources devrait pouvoir déchiffrer le jeton JWE. Le résultat est un JWT signé standard, qui peut être vérifié à l’aide des clés du locataire Auth0. Pour savoir comment configurer JWE pour votre API, consultez Configurer JSON Web Encryption.

En savoir plus