IdentityServer3 和 JWT ValidateIssuerSigningKey
IdentityServer3 and JWT ValidateIssuerSigningKey
我正在访问标准的 IdentityServer3 主机应用程序 (ASP.NET WebApi 2)。
我正在使用 JavaScript 方式从 IdSvr link
获取令牌
然后我将该 JWT 添加到授权请求中 header 并将尝试在我的应用程序中进行处理。
我使用:app.UseJwtBearerAuthentication
中间件来验证此令牌。首先,这是正确的吗?
我试过:
app.UseIdentityServerBearerTokenAuthentication(
new IdentityServerBearerTokenAuthenticationOptions
{
RequiredScopes = new[] { "myscope" },
IssuerName = "My Issuer"
});
但是我得到一个错误,"can't read token because it's not a valid base64 format"。
使用 UseJwt...
我在 UAT 环境中收到有关无法验证颁发者签名密钥的错误,因为我正在尝试使用开发测试一(这意味着我需要 UAT 证书)。然而,我们的其他应用程序使用 app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions())
并且似乎不必担心这个发行者签名密钥....
我是不是在尝试读取和验证此令牌的过程中遗漏了什么,还是应该继续使用 public 键创建 X509SecurityKey()
?
我们所有的应用程序都使用 HTTPS,因此一切都使用 TLS 进行通信。
推荐的方法是将权限 属性 设置为指向身份服务器库 URL。通过这种方式,证书(以及其他内容)从发现文档中下载,中间件可以自动配置自己。
我正在访问标准的 IdentityServer3 主机应用程序 (ASP.NET WebApi 2)。
我正在使用 JavaScript 方式从 IdSvr link
获取令牌然后我将该 JWT 添加到授权请求中 header 并将尝试在我的应用程序中进行处理。
我使用:app.UseJwtBearerAuthentication
中间件来验证此令牌。首先,这是正确的吗?
我试过:
app.UseIdentityServerBearerTokenAuthentication(
new IdentityServerBearerTokenAuthenticationOptions
{
RequiredScopes = new[] { "myscope" },
IssuerName = "My Issuer"
});
但是我得到一个错误,"can't read token because it's not a valid base64 format"。
使用 UseJwt...
我在 UAT 环境中收到有关无法验证颁发者签名密钥的错误,因为我正在尝试使用开发测试一(这意味着我需要 UAT 证书)。然而,我们的其他应用程序使用 app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions())
并且似乎不必担心这个发行者签名密钥....
我是不是在尝试读取和验证此令牌的过程中遗漏了什么,还是应该继续使用 public 键创建 X509SecurityKey()
?
我们所有的应用程序都使用 HTTPS,因此一切都使用 TLS 进行通信。
推荐的方法是将权限 属性 设置为指向身份服务器库 URL。通过这种方式,证书(以及其他内容)从发现文档中下载,中间件可以自动配置自己。