Skip to main content
La trousse SDK Auth0 pour PHP fournit une classe 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 :
Le processus ci-dessus réalise le suivant :
  1. 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.
  2. S’il n’y a pas de session, nous devons alors connecter l’utilisateur en le redirigeant vers la page de connexion universelle.
  3. 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 ».
  4. L’appel getLoginLink() crée le lien /authorize avec le type de réponse correct (code dans 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).
  5. Nous redirigeons ensuite vers cette URL et attendons que l’utilisateur soit redirigé vers nous.
Après authentification, l’utilisateur est redirigé vers notre application à l’URL de rappel, qui est gérée comme suit :
Parcourir le processus en détail :
  1. Nous recherchons un paramètre code dans une demande. S’il est manquant, nous abandonnons l’authentification.
  2. Nous vérifions que nous avons une valeur state et qu’elle coïncide à la même que celle générée. Ceci est important pour éviter les attaques CSRF.
  3. Nous tentons un échange de code avec l’appel codeExchange(), en s’assurant de transmettre le code qu’Auth0 a donné à notre application lorsqu’il nous a renvoyé l’utilisateur authentifiant.
  4. 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.
  5. Nous validons le jeton d’ID et utilisons les demandes 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 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 :
Si la méthode a réussi, vous devriez voir ce qui suit :
Consultez Utilisation de Management API avec Auth0-PHP pour plus d’informations sur la façon d’utiliser ce jeton d’accès.

Déconnexion d’authentification unique (SSO)

Bien que détruire la session locale avec session_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 :

En savoir plus