Maison >développement back-end >C++ >Comment implémenter l'authentification basée sur les jetons dans ASP.NET Core avec un client AngularJS ?
Question :
Comment implémenter l'authentification basée sur des jetons dans un Application ASP.NET Core, où un client AngularJS demande un jeton en fournissant des informations d'identification, et WebApi valide l'utilisateur et renvoie un accès jeton ?
Réponse :
1. Configuration dans Startup.cs :
Créez des constantes pour TokenAudience et TokenIssuer.
Ajoutez des services d'injection de dépendances pour la clé de signature JWT et JwtSignInHandler.
Configurez ASP .NET Core pour utiliser l'authentification JWT Bearer et spécifier la validation du jeton paramètres.
2. Configuration de l'authentification :
Utilisez app.UseAuthentication() avant le middleware qui nécessite une authentification.
3. Politique d'autorisation :
Ajoutez une stratégie d'autorisation pour spécifier les contrôleurs et les actions qui nécessitent des jetons Bearer.
4. Construire le jeton :
Créez une classe JwtSignInHandler avec une méthode pour créer un JWT, en transmettant un ClaimsPrincipal.
Dans le contrôleur où le jeton est nécessaire, utilisez le service JwtSignInHandler pour créer un jeton basé sur le principal.
5. Test :
Obtenez un jeton et validez-le sur jwt.io à l'aide de la clé secrète de la configuration.
Remarque pour la mise à jour .Net Core 3.1 :
Référez-vous à l'exemple d'application de David Fowler pour une implémentation simplifiée de JWT.
Remarque concernant la mise à jour .Net Core 2 :
Bien que les clés RSA ne soient pas nécessaires, elles sont recommandées pour les systèmes distribués. Cependant, en cas de répartition des responsabilités, SymmetricSecurityKey peut être utilisé.
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!