Passer au contenu principal
Auth0 recommande d’effectuer régulièrement une rotation du matériel cryptographique afin de répondre à vos besoins de conformité et d’éviter que la sécurité soit compromise en cas de fuite de clés privées. Vous pouvez utiliser le ou pour mettre de nouvelles clés en service. Vous devez créer un nouvel identifiant, l’associer à la méthode d’authentification private_key_jwt, puis supprimer les anciens identifiants ou ceux qui ne sont plus utilisés.
Une application peut stocker au maximum deux identifiants à la fois. Pour effectuer à répétition une rotation vers de nouveaux identifiants, vous devez supprimer les identifiants inutilisés.
Pour effectuer la rotation des identifiants de votre application dans Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard > Applications > Application, puis sélectionnez l’application à mettre à jour.
  2. Ouvrez l’onglet Credentials.
  3. Dans la section Available Credentials, sélectionnez Add New Key.
  4. Définissez un nom pour le nouvel identifiant, la clé publique au format PEM et l’algorithme à utiliser.
  5. Sélectionnez Add Credential.
  6. Pour activer le nouvel identifiant, ouvrez son menu et sélectionnez Enable for Private Key JWT use.
  7. Une fois vos applications mises à jour pour utiliser le nouvel identifiant, désactivez l’identifiant d’origine :
    1. Sélectionnez Disable for Private Key JWT Use.
    2. Une fois l’identifiant désactivé, retournez dans son menu et sélectionnez Delete Credential.

Identifiants actifs

Pour éviter toute interruption de service, vous pouvez laisser plusieurs identifiants actifs pendant la rotation. Les applications peuvent continuer de fonctionner normalement avec d’anciennes clés jusqu’à ce qu’elles soient mises à jour. Les applications peuvent envoyer des assertions signées avec n’importe quel ensemble d’identifiants actifs. Auth0 recommande de réduire au minimum la période pendant laquelle plusieurs identifiants sont utilisés. L’exemple ci-dessous utilise plusieurs identifiants associés :
curl --location --request PATCH 'https://$tenant/api/v2/clients/$client_id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
          "client_authentication_methods": {
             "private_key_jwt": {
                "credentials": [{ "id": $credential1.id }, { "id": $credential2.id }]
             }
          }
 }'

En savoir plus