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
Patricia Arquetteoriginal
2025-01-20 22:19:10579parcourir

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.

<code class="language-csharp">public static string GenerateToken(string username, int expireMinutes = 20)
{
    var symmetricKey = Convert.FromBase64String(Secret);
    var tokenHandler = new JwtSecurityTokenHandler();

    ...

    return token;
}</code>

2. Validation des jetons

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

<code class="language-csharp">private static bool ValidateToken(string token, out string username)
{
    ...
}</code>

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

<code class="language-csharp">public class JwtAuthenticationAttribute : Attribute, IAuthenticationFilter
{
    ...
}</code>

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:
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