Prérequis
- Le client doit être un client propriétaire, c.-à-d. que la propriété
is_first_party propertydoit êtretrue. - Le client doit être un client confidentiel avec un mécanisme d’authentification valide, c.-à-d. que la propriété
token_endpoint_auth_methodne doit pas être définie surnone. - Le client doit être conforme à OIDC, c.-à-d. que
oidc_conformantdoit êtretrue.
- Activez le type d’octroi Token Vault pour votre application cliente.
- Configurez Private Key JWT ou l’authentification TLS mutuelle pour votre application cliente.
Configurer l’application cliente
- Fournir une clé publique servant à vérifier un JWT signé utilisé comme jeton de sujet.
- Restreindre les adresses IP à partir desquelles le client peut effectuer des requêtes.
- Limiter le client aux connexions et aux scopes qu’il est autorisé à demander.
- Auth0 Dashboard
- Management API
- Accédez à Applications > Applications et sélectionnez votre application.
- Sélectionnez l’onglet Settings, faites défiler la page jusqu’à la section Privileged Worker, puis activez Enable Privileged Worker. Dans la fenêtre modale, sélectionnez un identifiant de clé publique existant ou téléversez-en un nouveau, puis sélectionnez Save.
- Une fois l’identifiant enregistré, saisissez au moins une adresse IP ou une plage CIDR dans le champ IP Allowlist.
- Sous Permissions, sélectionnez Add Permission. Dans la fenêtre, sélectionnez une Connection et saisissez les Scopes que cette connexion est autorisée à demander, puis sélectionnez Save. Répétez l’opération pour chaque connexion que vous souhaitez autoriser. Vous pouvez configurer jusqu’à 5 permissions et 20 scopes au total.
- Sélectionnez Save Changes.
- Activez pour cette application chaque connexion référencée dans Permissions. Accédez à Authentication > [Connection type], sélectionnez la connexion, ouvrez l’onglet Applications, puis activez la connexion pour votre application.

ip_allowlist (IP Allowlist dans le Dashboard) limite les adresses IP à partir desquelles des requêtes d’échange Privileged Worker peuvent être effectuées. Elle associe l’identifiant du client aux adresses IP de sortie connues du serveur, de sorte qu’un identifiant divulgué ne peut pas être utilisé depuis une adresse IP arbitraire. Les adresses IPv4 et IPv6, ainsi que les plages CIDR, sont prises en charge, jusqu’à un maximum de 10 entrées.
Les grants (Permissions dans le Dashboard) limitent le client à un ensemble précis de connexions et, pour chaque connexion, à un ensemble précis de scopes. Une requête d’échange de jetons Privileged Worker est rejetée si elle cible une connexion qui ne figure pas dans grants. De plus, si un scope plus restreint que celui accordé est demandé, Token Vault renvoie un token limité à ce scope, à condition que l’identity provider prenne en charge la restriction des scopes. Sinon, la requête échoue plutôt que de renvoyer silencieusement l’intégralité du scope accordé. Vous pouvez configurer un maximum de 5 connexions et de 20 scopes, toutes connexions confondues. Notez que la connexion indiquée doit être activée pour le client, comme décrit ci-dessus.
ip_allowlist et grants ne sont pas requis pour enregistrer la configuration d’un client, mais les deux doivent être renseignés pour que l’échange de jetons Privileged Worker fonctionne : toute requête provenant d’une adresse IP qui ne figure pas dans ip_allowlist, ou visant une connexion ou un scope qui ne figure pas dans grants, sera rejetée.Créer un jeton de sujet JWT signé
Charge utile
Voici un exemple de JWT :
N’incluez pas de renseignements personnels identifiables (PII) dans
audit_context. Cette valeur est consignée dans les journaux du tenant et peut être visible par les administrateurs et les destinations de diffusion des journaux.