Maison > développement back-end > C++ > Comment implémenter l'authentification par jeton du porteur JWT dans l'API Web ASP.NET sur IIS ?

Comment implémenter l'authentification par jeton du porteur JWT dans l'API Web ASP.NET sur IIS ?

Patricia Arquette
Libérer: 2025-01-20 22:19:10
original
630 Les gens l'ont consulté

How to Implement JWT Bearer Token Authentication in ASP.NET Web API on IIS?

Implémentation de l'authentification par jeton du porteur JWT dans l'API Web ASP.NET sur IIS

Présentation

Les applications distribuées modernes nécessitent souvent une authentification plus robuste que les méthodes traditionnelles de l'API Web ASP.NET telles que les formulaires ou l'authentification Windows. Ce guide détaille la mise en œuvre de l'authentification par jeton du porteur JWT dans une API Web hébergée sur IIS.

Mise en œuvre de l'authentification JWT

1. Génération de jetons

Un jeton JWT comprend un en-tête, des revendications et une signature. Le System.IdentityModel.Tokens.Jwt package NuGet facilite la génération de jetons à l'aide de HMACSHA256 avec une clé symétrique.

public static string GenerateToken(string username, int expireMinutes = 20)
{
    var symmetricKey = Convert.FromBase64String(Secret);
    var tokenHandler = new JwtSecurityTokenHandler();

    ...

    return token;
}
Copier après la connexion

2. Validation des jetons

La validation du jeton est réalisée à l'aide de :

private static bool ValidateToken(string token, out string username)
{
    ...
}
Copier après la connexion

Cela constitue le cœur d'un attribut de filtre d'authentification personnalisé :

public class JwtAuthenticationAttribute : Attribute, IAuthenticationFilter
{
    ...
}
Copier après la connexion

3. Demander une authentification

Appliquez le JwtAuthenticationAttribute aux actions ou itinéraires nécessitant une authentification. Le filtre valide le JWT et fournit un ClaimsPrincipal (ou null en cas d'échec).

4. Autorisation

Utilisez le AuthorizeAttribute à l'échelle mondiale pour restreindre l'accès anonyme. Dans les actions sécurisées, récupérez les détails de l'utilisateur depuis le ClaimsPrincipal.

Résumé

Cette méthode permet l'authentification du jeton du porteur JWT dans votre API Web ASP.NET hébergée par IIS sans middleware OWIN, offrant ainsi une autorisation sécurisée et évolutive pour vos services Web.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal