Comment remplacer l'extension AddJwtBearer dans .NET Core 3.0


19

J'ai le code suivant qui compile et fonctionne dans .NET Core 2.2:

  byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); 
        services.AddAuthentication(x =>
        {
            x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
        })
        .AddJwtBearer(x =>
        {
            x.RequireHttpsMetadata = false;
            x.SaveToken = true;
            x.TokenValidationParameters = new TokenValidationParameters
            {
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = new SymmetricSecurityKey(key),
                ValidateIssuer = false,
                ValidateAudience = false
            };
        });

Dans .NET Core 3.0, j'obtiens l'erreur:

L'erreur CS1061 'AuthenticationBuilder' ne contient pas de définition pour 'AddJwtBearer' et aucune méthode d'extension accessible 'AddJwtBearer' acceptant un premier argument de type 'AuthenticationBuilder' n'a pu être trouvée (il vous manque une directive d'utilisation ou une référence d'assembly?)

quand je regarde la documentation MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2

et essayez d'arriver à la version 3.0, Il semble que ce soit la dernière version où cela est défini. Comment migrer AddJwtBearer vers Core 3.0?


partagez votre fichier csproject
JeePakaJP

Réponses:



6

Vous devez inclure le package Microsoft.AspNetCore.Authentication.JwtBearer à votre projet.


2
Avez-vous utilisé using Microsoft.AspNetCore.Authentication.JwtBearer;en haut?
Mert Sayın

oui je le pense, je ne pense pas que ce soit aussi simple puisque la documentation MSFT indique clairement que cette méthode n'existe pas en 3.0. Je pense qu'il peut y avoir un moyen d'utiliser l'injection de dépendance au démarrage pour ajouter le JwtBearer, mais je n'ai pas pu le trouver sur Internet.
shelbypereira
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.