我正在访问标准的IdentityServer3主机应用程序(ASP.NET WebApi 2)。
我正在使用JavaScript方法从IdSvr链接获取令牌
然后,我将该JWT添加到授权请求标头中,并尝试在我的应用程序中对其进行处理。
我使用:app.UseJwtBearerAuthentication
中间件来验证此令牌。首先,这是正确的吗?
我试过了:
app.UseIdentityServerBearerTokenAuthentication(
new IdentityServerBearerTokenAuthenticationOptions
{
RequiredScopes = new[] { "myscope" },
IssuerName = "My Issuer"
});
但是我收到一个错误,“因为它不是有效的base64格式,所以无法读取令牌”。
在UseJwt...
我的UAT环境中出现一个错误,关于无法验证发行方签名密钥,因为我正在尝试使用开发测试之一(这意味着我需要UAT证书)。但是,我们的其他应用程序使用app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions())
并且似乎不必担心此发行者的签名密钥...。
我是否在尝试读取和验证此令牌的方式上丢失了某些信息,还是应该继续X509SecurityKey()
使用公钥创建?
我们所有的应用程序均使用HTTPS,因此所有内容均使用TLS进行通信。
推荐的方法是将Authority属性设置为指向身份服务器基本URL。这样,就可以从发现文档中下载证书(以及其他内容),并且中间件可以自动对其进行配置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句