IdentityServer4 ApiResource neden JwtBearerOption.Audience ile çalışmıyor?
Aug 18 2020
IdentityServer'da şu yapılandırmaya sahibim:
public static IEnumerable<ApiResource> ApiResources =>
new ApiResource[]
{
new ApiResource
{
Name = "MyApi"
}
};
ve ASP.NET Core web API'sindeki bu jwt yapılandırması:
services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
//identity server
options.Authority = "https://localhost:5001";
//access token recepient
options.Audience = "https://localhost:5001/resources";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = true,
ValidateLifetime = true,
};
});
Web API kimlik doğrulamasının IdentityServer'dan gelen belirteci kabul etmemesini bekliyorum çünkü Web API JwtBearerOption.Audience "MyApi" ye eşit değil. Ancak yapılandırmamda, Kitle yalnızca kitle "https: // localhost: 5001 / kaynaklar" olarak ayarlanmışsa doğrulanır ve "MyApi" olarak ayarlarsam geçersiz olur
Sorumla ilgili IdentityServer4 belgeleri.
Yanıtlar
1 ToreNestenius Aug 18 2020 at 14:30
MyApi'yi kitle listesine almak için IdentityServer4 (v4.0x) 'de olduğu gibi bir ApiScope tanımlamanız gerekir.
Daha fazla ayrıntı için bu makalelere bakın
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'