L'authentification est un élément essentiel de toute application Web et Django, étant un framework robuste, propose une variété de méthodes pour gérer l'authentification des utilisateurs. L'une de ces méthodes est l'authentification par jeton, qui constitue un moyen sécurisé et efficace d'authentifier les utilisateurs dans les applications Web.

Sur un système Django, l'authentification avec des jetons est implémentée à l'aide du module django-rest-framework. Le Django Rest Framework (DRF) est une bibliothèque puissante et flexible qui facilite la création d'API RESTful. L'une de ses fonctionnalités est l'authentification basée sur des jetons.

Comment fonctionne l'authentification avec des jetons ?

L'authentification par jeton fonctionne en fournissant à chaque utilisateur un jeton unique qui est utilisé pour authentifier les demandes ultérieures. Lorsqu'un utilisateur se connecte, le serveur génère un jeton et le renvoie à l'utilisateur. L'utilisateur inclut ensuite ce jeton dans chaque requête ultérieure adressée au serveur. Le serveur vérifie le jeton et, s'il est valide, traite la demande.

Les jetons constituent un moyen sécurisé d'authentifier les utilisateurs, car ils n'exigent pas que l'utilisateur partage son mot de passe avec le serveur. De plus, les jetons peuvent être invalidés par le serveur à tout moment, ce qui offre un contrôle plus précis sur les sessions utilisateur.

Implémentation de l'authentification avec des jetons dans Django

Pour implémenter l'authentification par jeton dans Django, nous devons d'abord installer Django Rest Framework. Cela peut être fait avec la commande suivante :

pip installer djangorestframework

Ensuite, nous devons ajouter « rest_framework » et « rest_framework.authtoken » à notre INSTALLED_APPS dans settings.py :

INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework.authtoken', ... ]

Après cela, nous devons configurer l'authentification basée sur des jetons comme méthode d'authentification par défaut. Cela se fait en ajoutant ce qui suit à notre fichier settings.py :

REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES' : [ 'rest_framework.authentication.TokenAuthentication', ], ]

Désormais, chaque fois qu'un utilisateur s'inscrit ou se connecte, nous devons générer un jeton pour lui. Cela peut être fait dans notre vue d'inscription/connexion comme suit :

à partir de rest_framework.authtoken.models importer le jeton registre def (demande): ... jeton = Token.objects.create(user=new_user) renvoyer la réponse ({'token': token.key})

Enfin, nous devons nous assurer que le jeton est inclus dans toutes les demandes ultérieures. Cela peut être fait en ajoutant les éléments suivants à notre middleware :

classe TokenAuthenticationMiddleware : def __init__(self, get_response) : self.get_response = get_response def __call__(soi, demande) : jeton = request.META.get('HTTP_AUTHORIZATION') si jeton : essayer: token_obj = Token.objects.get(clé=jeton) requête.user = token_obj.user sauf Token.DoesNotExist : passer retourner self.get_response (requête)

Grâce à cela, nous implémentons l'authentification basée sur des jetons dans notre système Django. Chaque utilisateur recevra désormais un jeton unique lors de son inscription ou de sa connexion, et ce jeton sera utilisé pour authentifier toutes les demandes ultérieures.

En résumé, l'authentification par jeton est un moyen sécurisé et efficace d'authentifier les utilisateurs dans les applications Web. Django, avec Django Rest Framework, fait de la mise en œuvre de cette authentification une tâche simple et directe.

Répondez maintenant à l’exercice sur le contenu :

Quel est le rôle du token dans l’authentification avec des tokens dans Django ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Authentification dans Django : intégration avec des systèmes tiers pour l'authentification

Page suivante de lebook gratuit :

141Authentification dans Django : intégration avec des systèmes tiers pour l'authentification

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte