我使用Identity Server 4来验证客户端并生成令牌。该网站是使用.Net核心在Angular中创建的,但已经开发的应用编程接口仍在不支持Identity Server4的.NET framework 4.7.1中。
因此,为了保护应用程序接口,我使用支持.NET框架4.7.1的Identity Server3配置了应用程序接口,但问题是它没有验证Identity Server4生成的令牌。
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "http://localhost:5000",
AuthenticationType = "Bearer",
RequiredScopes = new[] { "api_to_be_protected" }
});我们是否可以验证令牌并保护API不受未经授权的未知客户端的影响,同时还可以验证Identity Server 4创建的令牌
发布于 2020-10-08 17:30:19
在标识服务器上,应将EmitLegacyResourceAudienceClaim选项设置为true
var identityServerBuilder = services.AddIdentityServer(opt =>
{
opt.EmitLegacyResourceAudienceClaim = true;
});有关此属性的更多信息可在此处找到:https://identityserver4.readthedocs.io/en/latest/reference/options.html
我还发现nuget包IdentityServer3.Contrib.AccessTokenValidation有一个支持IDSrv 4的最新更新,我建议您使用它而不是IdentityServer3.AccessTokenValidation
https://stackoverflow.com/questions/58620132
复制相似问题