web-dev-qa-db-fra.com

Comment remplacer l'extension AddJWTbeer dans .NET CORE 3.0

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, je reçois l'erreur:

Erreur CS1061 'AuthenticationBuilder' ne contient pas de définition pour "AddJWTbearer" et aucune méthode d'extension accessible 'AddJWTbeer' Accepter un premier argument de type 'AuthicityBuilder' (AuthollingBuilder "" peut-il être trouvé (utilisez-vous une directive ou une référence d'assemblage?)

quand je regarde la documentation MSFT: https://docs.microsoft.com/en-us/dottnet/api/microsoft.extensions.dependencyinjection.jwttbearExtensions.jwtbearextensions.Addjwtbearer?view=aspnetcore-2.2

et essayez de vous rendre à la version 3.0, il semble que c'est la dernière version dans laquelle cela est défini. Comment migrer Adjwtbearer en Core 3.0?

27
shelbypereira

Quelque chose comme ça:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options => Configuration.Bind("JwtSettings", options)) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options => Configuration.Bind("CookieSettings", options));

D'ici: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/?view=aspnetcore-3.1

0
Kevin Welsh