我使用身份服务器创建了一个测试应用程序。
很简单。它有一些硬编码的InMemory用户,客户端和SCopes,并使用从样本中认证的idsrv3test.pfx进行签名
var factory = new IdentityServerServiceFactory();
factory
.UseInMemoryUsers(MemoryUsers.All())
.UseInMemoryClients(MemoryUsers.GetClients())
.UseInMemoryScopes(MemoryUsers.GetScopes());
var cert = new X509Certificate2(@"..\certs\idsrv3test.pfx", "idsrv3test");
var options = new IdentityServerOptions()
{
Factory = factory,
EnableWelcomePage = true,
SigningCertificate = cert,
RequireSsl = false
};
app.UseIdentityServer(options);
现在我通过 connect / token 端点获得一个令牌。作为授权类型,我使用密码。
这成功了,我拿回了一个不记名代币。
现在我想验证jwt.io上的令牌内容。我向我展示了令牌所有部分的所有信息。但在网站的最后,它显示“无效签名”
这是错误的结果吗?或者只是我使用此测试证书的结果?
答案 0 :(得分:4)
Jwt.io无法验证RS256签名。只有HS256。