【发布时间】:2016-07-17 18:51:53
【问题描述】:
我正在尝试加快使用 IdentityServer3 在 .NET Web 应用程序中进行授权的速度。
我试图弄清楚为什么隐式流程要求 IdentityServer 具有签名证书,而授权流程不需要。
到目前为止,这就是我所理解的:流“ClientCredential”和“ResourceOwner”是“AuthorizationFlows”——即它们有一个客户端密码,所有令牌都从令牌端点返回,通过刷新令牌的长期身份验证是根据https://www.scottbrady91.com/OpenID-Connect/OpenID-Connect-Flows,可能不会向用户代理/浏览器显示令牌(相反,它们存储在服务器上,并向用户代理/浏览器发送 cookie 或类似内容)。对于直接访问 WebAPI 的 SPA / JS 应用程序,应使用隐式流,因为 JS 客户端直接从浏览器调用身份服务器,因此无法保留客户端密钥(因为它必须传输到浏览器,从而损害安全性)。
所有这些都是有道理的,但在所有情况下,IdentityServer 都会生成应用程序用于授权的令牌,所以我很困惑为什么它们需要在一种情况下签名,而在另一种情况下不需要?
非常感谢您的帮助!
【问题讨论】:
标签: certificate implicit signing identityserver3