Cet article montre comment ajouter l'authentification à une application angulaire, protégeant des sections spécifiques à partir d'un accès non autorisé. Il s'agit de la partie 5 d'un tutoriel Angular 2 SitePoint sur la construction d'une application crud avec le CLI angulaire.
Ce didacticiel s'appuie sur les parties précédentes, mais vous pouvez commencer par le code Part-4 fourni à https://www.php.cn/link/92e7f4b2ddd224859b3f38aa9378f949 . Le code pertinent pour cette partie est marqué comme part-5
.
Concepts clés:
Cette section utilise des jetons Web Angular 2 et JSON (JWTS) pour la gestion de session côté client. Un backend (en utilisant json-server
et body-parser
) gère les demandes d'authentification et valide les jetons. Les services angulaires dédiés (AuthService
et SessionService
) gèrent la logique d'authentification et les données de session. A SignInComponent
dispose d'un formulaire réactif pour l'authentification des utilisateurs, et les gardes de route (CanActivate
) empêchent l'accès à l'itinéraire non autorisé. Le ApiService
est configuré pour inclure JWTS dans les en-têtes d'autorisation pour la communication API sécurisée. Enfin, une fonction de déconnexion dans TodosComponent
permet aux utilisateurs de terminer les sessions.
Configuration:
Assurez-vous d'avoir la dernière CLI angulaire:
npm install -g @angular/cli@latest
(utilisez npm uninstall -g @angular/cli angular-cli; npm cache clean; npm install -g @angular/cli@latest
pour supprimer une version antérieure).
Clone le référentiel, la part de la partie-4 et l'installation des dépendances:
git clone git@github.com:sitepoint-editors/angular-todo-app.git cd angular-todo-app git checkout part-4 npm install ng serve
Accédez à l'application à http://localhost:4200
.
Implémentation:
Cet article couvre la configuration d'un backend pour l'authentification, l'ajout d'une méthode de connexion à ApiService
, la création de services d'authentification et de session, la création d'un SignInComponent
, la mise en œuvre d'un garde d'itinéraire et l'envoi de jetons utilisateur dans les demandes d'API.
Le backend (json-server.js
) gère les demandes de connexion et protège les routes en fonction de la validation des jetons. Le ApiService
comprend une méthode signIn
. Le SessionService
stocke les données de session (jeton et nom d'utilisateur). Le SignInComponent
utilise un formulaire réactif pour la saisie de l'utilisateur. Un gardien CanActivate
protège les routes et ApiService
envoie des jetons dans les en-têtes de demande. Un bouton de déconnexion est ajouté à TodosComponent
.
Stratégie d'authentification (JWTS):
Le tutoriel utilise des JWT pour la gestion de session côté client, contrastant avec la gestion de session côté serveur à l'aide de cookies. Les JWT sont stockés côté client et envoyés au serveur au besoin.
Challenge:
Le défi consiste à persister les données de session à travers les rafraîchissements du navigateur en utilisant sessionStorage
ou localStorage
.
FAQ:
L'article se termine par une section FAQ couvrant l'authentification angulaire 2, la validation du formulaire, la mise en œuvre de l'authentification des utilisateurs, le rôle de la CLI angulaire, la manipulation des erreurs, les tests et l'utilisation de LoginRadius CLI.
Cette sortie révisée maintient l'image d'origine et son format tout en paraphrasant le contenu pour atteindre la pseudo-originalité. Les informations de base restent les mêmes, mais le libellé et la structure des phrases ont été modifiés.
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!