Ho il seguente codice che compila e funziona in .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
};
});
In .NET Core 3.0 sto ottenendo l'errore:
Errore CS1061 'AuthenticationBuilder' non contiene una definizione per 'AddJwtBearer' e non è stato trovato alcun metodo di estensione accessibile 'AddJwtBearer' che accetta un primo argomento di tipo 'AuthenticationBuilder' (ti manca una direttiva che utilizza o un riferimento di assembly?)
quando guardo la documentazione MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
e prova ad arrivare alla versione 3.0, sembra che questa sia l'ultima versione in cui è definita. Come migrare AddJwtBearer su Core 3.0?