Ajouter une fonctionnalité de connexion à votre application Django

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 Django, à 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.

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.

2

Installer les dépendances

Pour cette intégration, vous ajouterez plusieurs dépendances de bibliothèque, telles qu’Authlib. Créez un fichier requirements.txt dans votre répertoire de projet et incluez ce qui suit :

authlib ~= 1.0
django ~= 4.0
python-dotenv ~= 0.19
requests ~= 2.27

Was this helpful?

/

Exécutez la commande suivante depuis votre interface système pour accéder à ces dépendances :

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.

AUTH0_CLIENT_ID={yourClientId}
AUTH0_CLIENT_SECRET={yourClientSecret}
AUTH0_DOMAIN={yourDomain}

Was this helpful?

/

4

Création d’une application

Si vous avez déjà une application Django installée, passez à l’étape suivante. Pour un nouveau projet d’application, exécutez la commande suivante :

django-admin startproject webappexample

Placez-vous dans le nouveau dossier du projet :

cd webappexample

5

Mettre à jour settings.py

Ouvrez le fichier webappexample/settings.py pour examiner les valeurs .env.

En haut du fichier, ajoutez les importations os et dotenv.

Ensuite, sous la définition BASE_DIR, ajoutez la variable TEMPLATE_DIR.

Ensuite, trouvez la variable TEMPLATES et mettez à jour la valeur DIRS pour y ajouter notre chaîne TEMPLATE_DIR. Cette action détermine le chemin des fichiers modèles, que vous créerez à une étape future. Ne modifiez aucun autre élément de ce tableau.

À la fin de ce fichier, ajoutez le code pour charger la configuration d’Auth0.

6

Configurez votre application

Pour commencer à créer votre application, ouvrez le fichier webappexample/views.py dans votre IDE.

Importez toutes les bibliothèques nécessaires à votre application.

Vous pouvez maintenant configurer Authlib pour gérer l’authentification de votre application avec Auth0.

Découvrez les options de configuration possibles pour la méthode Authlib’s OAuth register() à partir de leur documentation.

7

Configurer vos gestionnaires de route

Dans cet exemple, vous allez ajouter quatre routes pour votre application : connexion, callback, déconnexion et index.

  • login – Lorsque les visiteurs de votre application se rendent sur la route /login ils seront redirigés vers Auth0 pour commencer le processus d’authentification.

  • callback – Après la connexion de vos utilisateurs à Auth0, ceux-ci reviendront à votre application à la route /callback. Cette route enregistre la session de l’utilisateur et permet de ne plus avoir à se reconnecter lorsqu’il revient.

  • logout – 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.

  • index – La route d’accueil affichera les détails de l’utilisateur authentifié ou permettra aux visiteurs de se connecter.

8

Enregistrer vos routes

Remplacez le contenu de votre fichier webappexample/urls.py par le code à droite pour vous connecter à ces nouvelles routes.

Cela dirigera les routes /login, /callback, /logout et / vers les gestionnaires appropriés.

9

Ajouter des modèles

Vous allez ensuite créer un fichier modèle utilisé dans la route de la page d’accueil.

Créez un nouveau sous-répertoire dans le dossier webappexample nommé templates, et créez un fichier index.html.

Le fichier index.html contiendra un code modèle pour afficher les informations de l’utilisateur s’il est connecté, ou pour lui présenter un bouton de connexion s’il ne l’est pas.

10

Exécuter votre application

Vous êtes prêts à exécuter votre application! À partir de votre Directory de projet, ouvrez un interface et utilisez :

python3 manage.py migrate
python3 manage.py runserver 3000

Was this helpful?

/

Votre application devrait maintenant être prête à s’ouvrir à partir de votre navigateur à l’adresse http://localhost:3000.

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 Marketplace - Discover integrations you can enable to extend Auth0’s functionality

Did it work?

Any suggestion or typo?

Edit on GitHub
Sign Up

Sign up for an or to your existing account to integrate directly with your own tenant.