Auth0\SDK\API\Authentication qui regroupe les méthodes permettant d’accéder directement à l’API d’authentification. Veuillez noter que cette interface s’adresse aux applications plus avancées et, de façon générale, ne permet pas d’assurer le suivi des sessions utilisateur. Dans la plupart des cas, il est préférable d’utiliser la classe de base Auth0.
Dans cet article, vous trouverez des exemples d’opérations d’authentification courantes.
Prérequis
/authorize du Domaine de votre locataire. Le code suivant figurerait sur une page nécessitant une authentification :
- Nous vérifions si un état d’utilisateur authentifié est 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 connecter l’utilisateur en le redirigeant vers la page Universal Login.
- Nous définissons une valeur
statedans la demande de connexion, puis nous vérifions cette valeur lorsque le code est renvoyé à l’URL de rappel. Nous la stockons dans notre session PHP sous la clé ‘state’. - L’appel
getLoginLink()génère le bon lien/authorizeavec le type de réponse approprié (codedans ce cas), l’URI de redirection (où l’application traitera la réponse, comme expliqué ci-dessous) etstate(défini ci-dessus). - Nous redirigeons ensuite vers cette URL et attendons que l’utilisateur soit redirigé vers notre application.
- Nous recherchons un paramètre
codedans la chaîne de requête. S’il est absent, nous interrompons l’authentification. - Nous vérifions que nous avons une valeur
stateet qu’elle correspond bien à celle que nous avons générée. Ceci est important pour prévenir les attaques CSRF. - Nous tentons un échange du code avec l’appel c
odeExchange(), en veillant à transmettre lecodequ’Auth0 a fourni à notre application lorsqu’il nous a renvoyé l’utilisateur en cours d’authentification. - Si cela fonctionne, nous savons que l’échange a réussi et que nous avons notamment un ID Token et un jeton d’accès.
- Nous validons l’ID Token et utilisons les claims pour établir 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 Client Credentials
AUTH0_MANAGEMENT_AUDIENCE dans votre fichier .env.
Demandez un Jeton d’accès pour l’API à l’aide de l’exemple ci-dessous :
Déconnexion de l’authentification unique
session_destroy() suffise à déconnecter un utilisateur de votre application, vous devriez également mettre fin à la session de votre utilisateur final auprès d’Auth0. Ainsi, la prochaine fois que l’utilisateur verra un formulaire de connexion Auth0, il devra saisir de nouveau ses identifiants pour ouvrir une session.
Déterminez d’abord vers où l’utilisateur doit être redirigé une fois la déconnexion terminée. Enregistrez cette valeur dans les paramètres de l’application Auth0, dans le champ “Allowed Logout URLs”. Ajoutez également 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 :