Auth0\SDK\API\Authentication, qui contient les méthodes que vous pouvez utiliser pour accéder directement à l’Authentication API. Veuillez noter que cette interface est destinée à des applications plus avancées et fournit en général une façon de suivre les sessions des utilisateurs. Pour la plupart des cas d’utilisation, vous souhaiterez travailler avec la classe de base Auth0.
Dans cet article, vous trouverez des exemples d’opérations d’authentification communes.
Prérequis
La documentation ci-dessous part du principe que vous avez suivi les étapes des sections sur l’installation et le démarrage, et que vous avez utilisé le code fourni.Flux de code d’autorisation
Un Flux de code d’autorisation est la façon de base de donner accès aux utilisateurs à votre application. Ce flux est le même utilisé sur la Utilisation de base d’Auth0-PHP. Si vous avez besoin d’un contrôle plus granulaire sur le processus de connexion ou de Callback, cette section explique comment utiliser directement l’Authentication API. Les utilisateurs doivent s’authentifier avec Auth0 pour générer le code d’autorisation. Ceci se fait en étant redirigé vers le point de terminaison/authorize pour votre domaine locataire. Le code suivant s’affichera sur une page nécessitant une authentification :
- Nous vérifions s’il existe un état d’utilisateur authentifié stocké dans notre gestionnaire de session personnalisé. Votre application peut gérer les sessions utilisateur différemment.
- S’il n’y a pas de session, nous devons alors connecter l’utilisateur en le redirigeant vers la page de connexion universelle.
- Nous définissons une valeur d’état avec la demande de connexion, puis vérifions cette valeur lorsque le code est renvoyé sur l’URL de rappel. Nous stockons cela dans notre session PHP sous la clé « state ».
- L’appel
getLoginLink()crée le lien/authorizeavec le type de réponse correct (codedans ce cas), l’URI de redirection (dans lequel l’application nous gérerons la réponse, expliquée ci-dessous) et l’état (ci-dessus). - Nous redirigeons ensuite vers cette URL et attendons que l’utilisateur soit redirigé vers nous.
- Nous recherchons un paramètre
codedans une demande. S’il est manquant, nous abandonnons l’authentification. - Nous vérifions que nous avons une valeur
stateet qu’elle coïncide à la même que celle générée. Ceci est important pour éviter les attaques CSRF. - Nous tentons un échange de code avec l’appel
codeExchange(), en s’assurant de transmettre lecodequ’Auth0 a donné à notre application lorsqu’il nous a renvoyé l’utilisateur authentifiant. - Si cela réussit, nous savons que l’échange a réussi et nous disposons d’un jeton d’ID et d’un jeton d’accès parmi d’autres valeurs potentielles.
- Nous validons le jeton d’ID et utilisons les demandes pour l’identité de l’utilisateur.
- Si cette dernière étape réussit, nous stockons l’utilisateur et le redirigeons vers nos données sensibles.
Flux des identifiants client
Le Flux des identifiants client donne à une application l’accès à une API particulière en fonction des permissions définies dans le tableau de bord. C’est ainsi que les applications peuvent, par exemple, appeler Management API. Une authentification réussie entraînera l’émission d’un jeton d’accès pour l’API demandée. Premièrement, activez la méthode Identification du client, puis l’onglet Paramètres avancés > Types d’autorisation sur la page Paramètres d’application. Ensuite, autorisez l’application pour l’API a utiliser sous l’onglet Applications de communication entre machines sur la page Paramètres de l’API. Assurez-vous que toutes les permissions nécessaires sont sélectionnées (mais pas plus) et mettez à jour. Revenez sous l’onglet Paramètres et copiez la valeur de Identifiant. Ceci doit être ajouté à une cléAUTH0_MANAGEMENT_AUDIENCE dans votre fichier .env.
Demandez un jeton d’accès pour l’API en utilisant l’exemple ci-dessous :
Déconnexion d’authentification unique (SSO)
Bien que détruire la session locale avecsession_destroy() suffirait à désauthentifier un utilisateur de votre application, vous devez aussi fermer la session de votre utilisateur final avec Auth0. Cela garantit que la prochaine fois que l’utilisateur verra un formulaire de connexion Auth0, ses informations d’identification lui seront demandées pour se connecter..
Tout d’abord, déterminez où l’utilisateur doit se retrouver une fois la déconnexion terminée. Enregistrez-le dans les paramètres de l’application Auth0 dans le champ « URL de déconnexion autorisées ». Aussi, ajoutez une clé AUTH0_LOGOUT_RETURN_URL avec cette URL comme valeur dans votre fichier .env
Ajoutez ce qui suit au code de déconnexion de votre application :