


Maîtriser Django : créer une API d'authentification utilisateur sécurisée à partir de zéro
Aug 25, 2024 am 06:01 AM``## Jour 4
Cela fait déjà quatre jours que le défi de codage #100daysofMiva est lancé. ???
? Plongez dans Django : Créer une API d'authentification utilisateur sécurisée à partir de zéro !
Êtes-vous prêt à faire passer vos compétences Django au niveau suivant ? ? Dans ce tutoriel, je vais vous guider dans la création d'une API d'authentification utilisateur robuste à l'aide de Django. Que vous soyez un développeur chevronné ou un débutant, ce guide étape par étape vous guidera dans la configuration de l'enregistrement des utilisateurs, de la connexion et de l'authentification par jeton.
À la fin de cette session, vous aurez une solide compréhension de comment :
- Configurer un projet Django et configurer les packages essentiels
- Créer et personnaliser des sérialiseurs pour les données utilisateur
- Créer des vues pour gérer l'enregistrement et l'authentification des utilisateurs
- Mettre en œuvre une authentification basée sur des jetons pour un accès sécurisé à l'API
- Rejoignez-nous pour transformer une toile vierge en un puissant système d'authentification et débloquer de nouvelles possibilités dans votre voyage Django ! ??
Commençons à coder ! ?✨
Étape 1 : Configurez votre environnement Django :
Pour ce faire, vous devez avoir python installé : assurez-vous que Python est installé en exécutant :
macOS/Linux :
Python est souvent préinstallé. Vous pouvez vérifier en exécutant :
ou
Si nécessaire, installez Python via Homebrew (macOS) ou le gestionnaire de packages (Linux) :
Windows :
- Téléchargez et installez Python depuis python.org.
- Assurez-vous de cocher la case pour ajouter Python à votre PATH lors de l'installation.
Étape 2. Configurer un environnement virtuel :
macOS/Linux :
Créer et activer un environnement virtuel :
Windows :
Créer et activer un environnement virtuel :
Étape 3. Installez Django et les packages
Maintenant, qu'est-ce qu'un framework sans ses packages ?...installons les packages dont nous aurons besoin.?
Avec l'environnement virtuel activé, les commandes pour installer Django et les packages supplémentaires sont les mêmes sur tous les systèmes d'exploitation :
Explication :
`
- djangorestframework : Il s'agit d'une boîte à outils puissante et flexible pour créer des API Web avec Django.
- djangorestframework-simplejwt : ce package fournit l'authentification JSON Web Token (JWT), qui est couramment utilisée pour l'authentification sécurisée de l'API.
Étape 4. Créer et configurer le projet Django
macOS/Linux/Windows :
Créez un projet et une application Django :
simplifions les choses nécessaires :
- startproject1 : Cette commande crée un nouveau projet Django. Un projet est un ensemble de paramètres pour une instance de Django, y compris la configuration de la base de données, les options spécifiques à Django et les paramètres spécifiques à l'application.
- startapp : Cela crée une nouvelle application au sein du projet. Les applications sont des composants de votre projet qui gèrent des fonctionnalités spécifiques (par exemple, la gestion des utilisateurs).
Étape 5. Mettre à jour les paramètres du projet
Tous les systèmes d'exploitation :
Modifiez settings.py pour inclure votre application et les packages installés.
Fichier : auth_project/settings.py
Explication, allons-nous ?:
INSTALLED_APPS : C'est ici que vous enregistrez vos applications et packages tiers. Ici, vous ajoutez rest_framework pour la fonctionnalité API, rest_framework_simplejwt pour l'authentification JWT et les utilisateurs (l'application que vous avez créée) pour gérer les tâches liées aux utilisateurs.
Ce n'est pas grave de ne pas connaître toutes les étapes en même temps... il faut juste de la pratique, vous y arriverez
J'espère que vous suivez... c'est pas difficile c'est complexe ?
(Je ne sais pas si ça a fonctionné ?)...
on continue...?
Gardez les yeux rivés sur les gars ?
Étape 6. Création de sérialiseurs
Fichier : users/serializers.py
Explication :
- **Sérialiseurs** : dans Django REST Framework, les sérialiseurs sont utilisés pour convertir des types de données complexes (comme les modèles Django) en JSON, et vice versa.
- **RegisterSerializer** : ce sérialiseur personnalisé gère l'enregistrement des utilisateurs. Il comprend des champs comme le nom d'utilisateur, le mot de passe, l'e-mail, etc.
- **validate_password** : garantit que le mot de passe répond à certains critères de sécurité.
- **méthode de validation** : validation personnalisée pour vérifier si les deux champs de mot de passe correspondent.
- Méthode **create** : cette méthode est responsable de la création et de l'enregistrement du nouvel utilisateur.
Étape 7 : Création de vues
Fichier : users/views.py
Explication :
- **Vues** : dans Django, les vues gèrent la logique de traitement des demandes des utilisateurs.
- **RegisterView** : cette vue gère l'enregistrement des utilisateurs.
- **CreateAPIView** : une vue intégrée pour gérer la création de nouveaux enregistrements. Ici, il sert à créer un nouvel utilisateur.
- **permission_classes** : AllowAny signifie que ce point de terminaison est accessible à tous, même aux utilisateurs non authentifiés, ce qui est nécessaire à l'enregistrement.
Étape 8 : Configuration des URL
Fichier : users/urls.py
Ce code est écrit dans l'URL de l'application
Explication :
Modèles d'URL : ceux-ci définissent les chemins qui correspondent aux vues.
**register/** : Cette URL gérera l'enregistrement des utilisateurs.
Ensuite, allez dans le fichier de votre projet : **auth_project/urls.py**
et tape ceci...?
Explication :
- **include('users.urls')** : cela inclut les URL de l'application des utilisateurs.
- Vues JWT : TokenObtainPairView : cette vue renvoie une paire de jetons d'accès et d'actualisation. TokenRefreshView : cette vue permet aux clients d'actualiser le jeton d'accès à l'aide du jeton d'actualisation.
- **TokenObtainPairView** : cette vue renvoie une paire de jetons d'accès et d'actualisation.
- **TokenRefreshView** : cette vue permet aux clients d'actualiser le jeton d'accès à l'aide du jeton d'actualisation.
Jusqu'au prochain ici, vous pouvez bien vous reposer ?... plus de pression à partir de maintenant hehe..
Étape 9 : Exécuter des migrations
Commande :
La fonction/le but de cette opération est d'appliquer les modifications au schéma de votre base de données en fonction des modèles et des champs que vous avez définis dans votre projet. ceux que nous avons orchestrés ci-dessus ?
En d'autres termes, cela maintient le projet à jour
Étape 10 : Exécution du serveur et tests
Commande :
Cette commande démarre le serveur de développement Django, rendant votre projet accessible localement. (votre port local)
Voyons maintenant ce que nous avons fait jusqu'à présent...
Test avec Postman ou cURL (vous pouvez télécharger cette extension depuis votre IDE)
Utiliser Postman
Ouvrez Postman (ou tout autre outil de test d'API que vous préférez).
Configurer une nouvelle demande
- 1. URL : http://127.0.0.1:8000/api/auth/register/
- 2. Méthode : POST
Dans l'onglet Corps, sélectionnez le format brut et JSON.
Saisissez les données JSON suivantes :
Corps :
- Cliquez sur Envoyer.
Pour cette partie, le Framework Django-Rest dispose d'une interface utilisateur conviviale, il est donc plus facile de naviguer ici que d'autres
En cas de succès, vous devriez recevoir une réponse avec le code d'état HTTP 201 Créé et une réponse JSON contenant les données utilisateur.
Testez le point de terminaison d'authentification par jeton
Pour vous assurer que l'authentification JWT fonctionne, testez le point de terminaison du jeton.
Utiliser Postman :
- Configurer une nouvelle demande : Méthode : POST URL : http://127.0.0.1:8000/api/token/
- Dans l'onglet Corps, sélectionnez le format brut et JSON.
- Entrez les données JSON suivantes
4, cliquez sur Envoyer.
Vous devriez recevoir une réponse JSON avec des jetons d'accès et d'actualisation :
**
Conseils de dépannage
**
Le serveur ne démarre pas : assurez-vous que vous êtes dans le bon répertoire et que vous avez activé votre environnement virtuel.
Erreurs de point de terminaison : vérifiez à nouveau vos chemins d'URL et assurez-vous que votre application Django est correctement configurée avec les URL.
Réponses non valides : vérifiez que vos points de terminaison et sérialiseurs d'API sont correctement configurés.
En suivant ces étapes, vous devriez pouvoir exécuter avec succès votre serveur de développement Django, tester le point de terminaison d'enregistrement et vérifier l'authentification basée sur un jeton.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
