我使用OpenIddict与隐流创建一个Asp.Net 2.2的核心应用与DefaultIdentity。 这个应用程序在一个码头工人容器中运行。 我想用我的开发环境AddDevelopmentSigningCertificate()选项。
services.AddOpenIddict()
.AddCore(options =>
{
options.UseEntityFrameworkCore()
.UseDbContext<ApplicationDbContext>();
})
.AddServer(options =>
{
options.UseMvc();
options.EnableAuthorizationEndpoint("/connect/authorize");
options.RegisterScopes(OpenIdConnectConstants.Scopes.Email, OpenIdConnectConstants.Scopes.Profile, OpenIddictConstants.Scopes.Roles);
options.AllowImplicitFlow();
options.DisableHttpsRequirement();
options.AddDevelopmentSigningCertificate();
options.UseJsonWebTokens();
})
.AddValidation();
然后,我有一个Asp.Net 2.2核心的Web API应用也处于泊坞容器中运行。 我通过Swashbuckle和智威汤逊承载认证使用扬鞭。
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
JwtSecurityTokenHandler.DefaultOutboundClaimTypeMap.Clear();
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "supplier-service";
});
(IDENTITYURL是授权服务器多克尔容器的URL)
但我得到以下错误:
Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException:IDX10501:签名验证失败。 无法匹配关键字:孩子: '[PII隐藏]',标记: '[PII隐藏]'。
我在想什么还是什么我做错了?