Passer au contenu principal
Auth0 vous permet d’ajouter l’authentification et de pouvoir accéder aux informations relatives au profil de l’utilisateur dans votre application. Ce guide explique comment intégrer Auth0 à une application Python Flask, à l’aide de la trousse SDK Authlib.
1

Configuration d’Auth0

Pour utiliser les services Auth0, vous devez avoir une application installée dans Auth0 Dashboard. L’application Auth0 est l’endroit où vous allez configurer le fonctionnement de l’authentification pour le projet que vous développez.

Configurer une application

Utilisez le sélecteur interactif pour créer une nouvelle application Auth0 ou sélectionner une application existante qui représente le projet avec lequel vous souhaitez effectuer l’intégration. Dans Auth0, chaque application se voit attribuer un identifiant client unique alphanumérique que votre code d’application utilisera pour appeler les API Auth0 via la trousse SDK.Tous les paramètres que vous configurez à l’aide de ce guide de démarrage rapide seront automatiquement mis à jour pour votre application dans le Tableau de bord, qui est l’endroit où vous pourrez gérer vos applications à l’avenir.Si vous préférez explorer une configuration complète, consultez plutôt un exemple d’application.

Configurer les URL de rappel

Une URL de rappel est une URL intégrée dans votre application vers laquelle vous souhaitez qu’Auth0 redirige les utilisateurs après leur authentification. Si elle n’est pas définie, les utilisateurs ne seront pas redirigés vers votre application après s’être connectés.
Si vous suivez notre projet à titre d’exemple, définissez ceci sur http://localhost:3000/callback.

Configuration des URL de déconnexion

Une URL de déconnexion est une URL intégrée dans votre application vers laquelle vous souhaitez qu’Auth0 redirige les utilisateurs après leur déconnexion. Si elle n’est pas définie, les utilisateurs ne pourront pas se déconnecter de votre application et recevront un message d’erreur.
Si vous suivez notre projet à titre d’exemple, définissez ceci sur http://localhost:3000.
2

Installer les dépendances

Créez un fichier requirements.txt dans le répertoire de votre projet :
# 📁 requirements.txt -----
flask>=2.0.3
python-dotenv>=0.19.2
authlib>=1.0
requests>=2.27.1
Exécutez la commande suivante depuis votre shell pour activer les dépendances suivantes dans votre projet :
pip install -r requirements.txt
3

Configurez votre fichier .env

Ensuite, créez un fichier .env dans votre répertoire de projet. Ce fichier contiendra les clés de vos clients et d’autres détails de configuration.
# 📁 .env -----
AUTH0_CLIENT_ID={yourClientId}
AUTH0_CLIENT_SECRET={yourClientSecret}
AUTH0_DOMAIN={yourDomain}
APP_SECRET_KEY=
  • Générez une chaîne pour APP_SECRET_KEY en utilisant openssl rand -hex 32 depuis votre shell.
4

Configurez votre application

Ensuite, configurez votre application. Créez un fichier server.py dans le répertoire de votre projet; ce fichier contiendra la logique de votre application.Importez toutes les bibliothèques nécessaires à votre application.Chargez le fichier de configuration .env que vous avez créé à l’étape précédente.Configurez Authlib pour gérer l’authentification de votre application avec Auth0. Apprenez-en davantage sur les options de configuration possibles pour la méthode register() d’Authlib OAuth dans leur documentation.
5

Configurez vos routes

Dans cet exemple, vous ajouterez quatre routes à l’application : connexion, callback, déconnexion et accueil.Lorsque les visiteurs de votre application se rendent sur la route /login, votre application les dirige vers la page de connexion Auth0.Une fois vos utilisateurs connectés avec Auth0, votre application les dirige vers la route /callback. Cette route enregistre la session de l’utilisateur et permet de ne plus avoir à se reconnecter lorsqu’il revient.La route /logout permet aux utilisateurs de se déconnecter de votre application. Cette route efface la session de l’utilisateur dans votre application et redirige vers le point de terminaison de déconnexion d’Auth0 pour s’assurer que la session n’est plus enregistrée. Ensuite, l’application redirige l’utilisateur vers votre route d’accueil.Votre route /home affiche les détails d’un utilisateur authentifié ou permet aux visiteurs de s’identifier.
6

Ajouter des modèles

Créez ensuite le fichier de modèle utilisé dans la route d’accueil (lors des appels render_template()).Créez un nouveau sous-répertoire dans le dossier de votre projet, nommé templates, et créez home.html dans ce répertoire. Collez le contenu à droite dans ce fichier.
7

Exécuter votre application

Pour exécuter votre application, naviguez jusqu’à la racine du répertoire de votre projet et ouvrez un terminal. Exécutez la commande suivante :
python3 server.py
Point de contrôle
Visitez http://localhost:3000 pour des raisons de vérification. Un bouton de connexion devrait vous permettre de vous connecter à Auth0, puis de revenir à votre application pour consulter les informations relatives à votre profil.

Étapes suivantes

Beau travail! Si vous en êtes arrivé là, vous devriez avoir la connexion, la déconnexion et les informations de profil utilisateur actives dans votre application.Cela conclut notre tutoriel de démarrage rapide, mais il y a tellement plus à explorer. Pour en savoir plus sur ce que vous pouvez faire avec Auth0, consultez :
  • Auth0 Dashboard : apprenez à configurer et gérer votre locataire et vos applications Auth0
  • Trousse SDK auth0-python : explorez en détail la trousse SDK utilisée dans ce tutoriel
  • Auth0 Marketplace : découvrez des intégrations que vous pouvez activer pour étendre les fonctionnalités d’Auth0
I