Ajouter une fonctionnalité de connexion à votre application Python Flask
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.
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.
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.
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
Was this helpful?
Exécutez la commande suivante depuis votre shell pour activer les dépendances suivantes dans votre projet :
pip install -r requirements.txt
Was this helpful?
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=
Was this helpful?
Générez une chaîne pour
APP_SECRET_KEY
en utilisantopenssl rand -hex 32
depuis votre shell.
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.
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.
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.
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
Was this helpful?
checkpoint.header
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.
Next Steps
Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.
This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- auth0-python SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.