Activer l’enregistrement dynamique des clients
Auth0 prend en charge Open Dynamic Registration (Enregistrement Dynamique Ouvert), ce qui signifie que si vous activez cette fonctionnalité, n’importe quel utilisateur pourra créer des applications dans votre locataire sans avoir besoin d’un jeton.
enable_dynamic_client_registration
sur true
dans les paramètres de votre locataire.
Pour ce faire, accédez à Dashboard > Settings (Paramètres) > Advanced (Avancé) et activez l’option Enregistrement dynamique de l’application OIDC.
Vous pouvez également mettre à jour cet indicateur en utilisant le point de terminaison de /Tenant/patch_settings
.
API2_ACCESS_TOKEN
avec un jeton valide avec la permission update:tenant_settings
. Pour en savoir plus, lisez Jetons d’accès à Management API.
Utiliser l’enregistrement dynamique des clients
Dans cette section, nous verrons comment vous pouvez enregistrer et configurer dynamiquement une application.Enregistrer votre application
Pour enregistrer dynamiquement une application avec Auth0, vous devez envoyer un message HTTPPOST
au point de terminaison d’enregistrement de l’application : https://{yourDomain}/oidc/register
. Notez qu’Auth0 prend en charge Enregistrement Open Dynamic, ce qui signifie que le point de terminaison acceptera une demande d’enregistrement sans jeton d’accès.
Pour créer une application portant le nom Mon application dynamique
et les URL de rappel https://application.example.com/callback
et https://application.example.com/callback2
, utilisez l’extrait de code suivant :
- client_name: nom de l’application dynamique à créer
- redirect_uris (obligatoire) : tableau des URL que Auth0 jugera valides à la fin d’un flux d’authentification.
token_endpoint_auth_method
, qui peut être none
ou client_secret_post
(valeur par défaut). Utilisez token_endpoint_auth_method: none
dans la charge utile de la demande si vous créez une application à page unique.
La réponse comprend les informations de base sur l’application.
- client_id : identifiant unique du client. Il s’agit de l’identifiant que vous utiliserez lors de la configuration de vos applications pour utiliser Auth0. Il est généré par le système et ne peut être modifié.
- client_secret : secret client alphanumérique de 64 bits. Cette valeur est utilisée par les applications pour s’authentifier auprès de l’Authentication API
/token
et pour signer et valider les jetons d’ID. - client_secret_expires_at: heure à laquelle le
client_secret
expirera. Pour Auth0, cette valeur sera toujours égale à zéro (0
), ce qui signifie que l’application n’expire jamais.
Configuration de votre application
Maintenant que vous disposez d’un ID et d’un secret client, vous pouvez configurer votre application pour authentifier les utilisateurs avec Auth0. Nous allons voir un exemple simple, qui montre comment appeler une API à partir d’une application web côté client, en utilisant le Flux implicite. Tout d’abord, vous devez configurer votre application pour envoyer l’utilisateur à l’URL d’autorisation :- (facultatif) : API cible pour laquelle l’application demande l’accès au nom de l’utilisateur. Définissez ce paramètre si vous avez besoin d’un accès à l’API.
- scope (facultatif) : permissions pour lesquelles vous souhaitez demander une autorisation. Elles doivent être séparées par un espace. Vous pouvez demander l’une des permissions standard OIDC pour les utilisateurs, telles que
profile
etemail
, des demandes personnalisées qui doivent se conformer à un format d’espace de noms, ou toute portée prise en charge par l’API cible (par exemple,read:contacts
). Définissez ce paramètre si vous avez besoin d’un accès à l’API. Pour en savoir plus, lisez Permissions des API. - response_type : type de réponse. Pour le consentement implicite, vous pouvez utiliser
token
ouid_token token
. Cela spécifiera le type de jeton que vous recevrez à la fin du flux. Utiliseztoken
pour obtenir uniquement un jeton d’accès, ouid_token token
pour obtenir à la fois un jeton d’ID et un jeton d’accès. - client_id : ID client de votre application.
- redirect_uri : URL vers laquelle le serveur d’autorisation (Auth0) redirigera l’agent utilisateur (navigateur) après autorisation par l’utilisateur. Le jeton d’accès (et éventuellement un jeton d’ID) sera disponible dans le fragment de hachage de cette URL. Cette URL doit être spécifiée comme URL de rappel valide dans les Paramètres d’application de votre application.
- État : valeur opaque que les applications ajoutent à la demande initiale et que le serveur d’autorisation inclut lorsqu’il redirige la demande vers l’application. Cette valeur doit être utilisée par l’application pour prévenir les attaques CSRF.
- nombre aléatoire : Une valeur de chaîne qui sera incluse dans la réponse du jeton d’ID d’Auth0, utilisée pour empêcher les attaques par réinsertion du jeton. Elle est nécessaire pour
response_type=id_token token
.
Bearer
dans l’en-tête Authorization
de la requête HTTP.