Saya memiliki kode berikut yang mengkompilasi dan bekerja di .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
};
});
Di .NET Core 3.0 saya mendapatkan kesalahan:
Kesalahan CS1061 'AuthenticationBuilder' tidak mengandung definisi untuk 'AddJwtBearer' dan tidak ada metode ekstensi yang dapat diakses 'AddJwtBearer' menerima argumen pertama dari jenis 'AuthenticationBuilder' dapat ditemukan (apakah Anda melewatkan direktif menggunakan atau referensi rakitan?)
ketika saya melihat dokumentasi MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
dan mencoba untuk sampai ke versi 3.0, Tampaknya ini adalah versi terakhir di mana ini didefinisikan. Bagaimana cara saya memigrasikan AddJwtBearer ke Core 3.0?
sumber
Jawaban:
Seperti yang dikatakan Mert Sayin, sertakan paket Microsoft.AspNetCore.Authentication.JwtBearer , tetapi gunakan Versi 3.0.0 .
sumber
Anda harus menyertakan paket Microsoft.AspNetCore.Authentication.JwtBearer ke proyek Anda.
sumber
using Microsoft.AspNetCore.Authentication.JwtBearer;
di atas?