没有可用于令牌的 SecurityTokenValidator
No SecurityTokenValidator available for token
我创建了一个 IdentityServer
并且可以通过将 ClientId
和 ClientSecret
传递给令牌端点来成功检索令牌
我的 IndetityServer 设置如下
var certFile = env.ApplicationBasePath + $"{Path.DirectorySeparatorChar}idsrv3test.pfx";
var options = new IdentityServerOptions
{
Factory = new IdentityServerServiceFactory()
.UseInMemoryClients(Client.Get())
.UseInMemoryScopes(Scope.Get())
.UseInMemoryUsers(User.Get()),
SigningCertificate = new X509Certificate2(certFile, "idsrv3test"),
RequireSsl = false
};
app.UseIdentityServer(options);
当我调用受保护的 MVC 6 Web API 时,我得到一个
No SecurityTokenValidator available for token:
c7f2c3890d83a454fcb504cb96c75fe7
这是我的 API
Startup.cs
中的设置
app.UseJwtBearerAuthentication(options =>
{
options.Authority = $@"{tokenServiceUrl}";
options.Audience = $@"{tokenServiceUrl}/resources";
options.AutomaticAuthenticate = true;
options.RequireHttpsMetadata = false;
});
我确保在 app.UseMvc()
调用之前完成此设置。我还有什么需要做的吗?
运行
Install-Package
IdentityServer3.AccessTokenValidation.Integration.AspNet -Pre
从包管理器控制台为您的 API 安装集成包。然后将以下代码添加到 Startup.cs class 的 Configure 方法中 API
app.UseIdentityServerBearerTokenAuthentication
(
new IdentityServerBearerTokenAuthenticationOptions
{
Authority = tokenServiceUrl,
ValidationMode = ValidationMode.ValidationEndpoint,
RequiredScopes = new[] { "SomeScope" }
}
);
我创建了一个 IdentityServer
并且可以通过将 ClientId
和 ClientSecret
传递给令牌端点来成功检索令牌
我的 IndetityServer 设置如下
var certFile = env.ApplicationBasePath + $"{Path.DirectorySeparatorChar}idsrv3test.pfx";
var options = new IdentityServerOptions
{
Factory = new IdentityServerServiceFactory()
.UseInMemoryClients(Client.Get())
.UseInMemoryScopes(Scope.Get())
.UseInMemoryUsers(User.Get()),
SigningCertificate = new X509Certificate2(certFile, "idsrv3test"),
RequireSsl = false
};
app.UseIdentityServer(options);
当我调用受保护的 MVC 6 Web API 时,我得到一个
No SecurityTokenValidator available for token: c7f2c3890d83a454fcb504cb96c75fe7
这是我的 API
Startup.cs
中的设置
app.UseJwtBearerAuthentication(options =>
{
options.Authority = $@"{tokenServiceUrl}";
options.Audience = $@"{tokenServiceUrl}/resources";
options.AutomaticAuthenticate = true;
options.RequireHttpsMetadata = false;
});
我确保在 app.UseMvc()
调用之前完成此设置。我还有什么需要做的吗?
运行
Install-Package IdentityServer3.AccessTokenValidation.Integration.AspNet -Pre
从包管理器控制台为您的 API 安装集成包。然后将以下代码添加到 Startup.cs class 的 Configure 方法中 API
app.UseIdentityServerBearerTokenAuthentication
(
new IdentityServerBearerTokenAuthenticationOptions
{
Authority = tokenServiceUrl,
ValidationMode = ValidationMode.ValidationEndpoint,
RequiredScopes = new[] { "SomeScope" }
}
);