Skip to main content
Le SDK Auth0 PHP fournit une classe Auth0\SDK\API\Authentication qui regroupe les méthodes permettant d’accéder directement à l’Authentication API. Veuillez noter que cette interface est destinée aux applications plus avancées et que, de façon générale, elle ne permet pas d’assurer le suivi des sessions utilisateur. Pour la plupart des cas d’utilisation, vous utiliserez plutôt la classe de base Auth0. Dans cet article, vous trouverez des exemples d’opérations d’authentification courantes.

Prérequis

La documentation ci-dessous suppose que vous avez suivi les étapes des sections Installation et Bien démarrer et que vous reprenez à partir du code qui y est fourni.

Flux du code d’autorisation

Un flux du code d’autorisation est la méthode de base pour accorder aux utilisateurs l’accès à votre application. Ce flux est le même que celui utilisé dans la page Gérer Login, déconnexion et les profils utilisateur. 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. Pour ce faire, il faut rediriger vers le point de terminaison /authorize du domaine de votre tenant. Le code suivant apparaîtrait sur une page qui nécessite une authentification :
Le processus ci-dessus effectue les opérations suivantes :
  1. 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.
  2. S’il n’y a pas de session, nous devons connecter l’utilisateur en le redirigeant vers la Universal Login Page.
  3. Nous définissons une valeur state avec la requête de connexion, puis nous vérifions cette valeur lorsque le code est renvoyé à l’URL de callback. Nous la stockons dans notre session PHP sous la clé ‘state’.
  4. L’appel getLoginLink() construit le bon lien /authorize avec le bon type de réponse (code dans ce cas), l’URI de redirection (dans l’application, là où nous traiterons la réponse, comme expliqué ci-dessous) et state (ci-dessus).
  5. Nous redirigeons ensuite l’utilisateur vers cette URL et attendons qu’il soit redirigé vers nous.
Après l’authentification, l’utilisateur est redirigé vers notre application à l’URL de callback, qui est traitée comme suit :
Parcourons le processus en détail :
  1. Nous recherchons un paramètre code dans la chaîne de requête. S’il est absent, nous interrompons l’authentification.
  2. Nous vérifions que nous avons une valeur state et nous nous assurons qu’elle correspond bien à celle que nous avons générée. C’est important pour éviter les attaques CSRF.
  3. Nous tentons un échange de code avec l’appel codeExchange(), en veillant à transmettre le code qu’Auth0 a donné à notre application lorsqu’il nous a renvoyé l’utilisateur en cours d’authentification.
  4. Si cela réussit, nous savons que l’échange a réussi et que nous avons un ID Token et un jeton d’accès, entre autres valeurs possibles.
  5. Nous validons l’ID Token et utilisons les claims pour l’identité de l’utilisateur.
  6. Si cette dernière étape réussit, nous stockons l’utilisateur et le redirigeons vers nos données sensibles.

Flux Client Credentials

Le flux Client Credentials donne à une application accès à une API précise selon les scopes définis dans le Dashboard. C’est ainsi que les applications peuvent, par exemple, envoyer des requêtes à la . Une authentification réussie entraîne l’émission d’un pour l’API demandée. Activez d’abord l’attribution Client Credentials dans l’onglet Advanced Settings > Grant Types de la page Application Settings. Ensuite, autorisez l’Application pour l’API utilisée dans l’onglet Machine to Machine Applications de la page Settings de l’API. Assurez-vous que tous les scopes nécessaires sont sélectionnés (sans en ajouter davantage), puis cliquez sur Update. Revenez à l’onglet Settings et copiez la valeur Identifier. Elle doit être ajoutée à une clé AUTH0_MANAGEMENT_AUDIENCE dans votre fichier .env. Demandez un jeton d’accès pour l’API à l’aide de l’exemple ci-dessous :
Si l’autorisation a été accordée, vous devriez voir ce qui suit :
Pour en savoir plus, consultez Utiliser la Management API afin de savoir comment utiliser ce jeton d’accès.

Déconnexion de l’authentification unique

Même si la destruction de la session locale avec session_destroy() suffit pour déconnecter un utilisateur de votre application, vous devriez aussi fermer la session Auth0 de votre utilisateur final. Ainsi, la prochaine fois que l’utilisateur verra un formulaire de connexion Auth0, il devra fournir ses identifiants pour se connecter. 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 “URL de déconnexion autorisées”. Ajoutez également une clé AUTH0_LOGOUT_RETURN_URL ayant cette URL comme valeur dans votre fichier .env. Ajoutez ce qui suit au code de déconnexion de votre application :

Pour en savoir plus