Certificate 为什么IdentityServer3中的隐式流需要签名证书,而ClientCredential和ResourceOwner流不需要签名证书?

Certificate 为什么IdentityServer3中的隐式流需要签名证书,而ClientCredential和ResourceOwner流不需要签名证书?,certificate,implicit,signing,identityserver3,Certificate,Implicit,Signing,Identityserver3,我正在尝试加快在.NET web应用程序中使用IdentityServer 3进行授权的速度 我试图弄明白为什么隐式流要求IdentityServer具有签名证书,而授权流不需要签名证书 到目前为止,我的理解是:流“ClientCredential”和“ResourceOwner”是“AuthorizationFlows”-即,它们具有客户端机密,所有令牌都从令牌端点返回,可以通过刷新令牌进行长期身份验证,令牌不会透露给用户代理/浏览器(相反,它们存储在服务器上,并向用户代理/浏览器发送cook

我正在尝试加快在.NET web应用程序中使用IdentityServer 3进行授权的速度

我试图弄明白为什么隐式流要求IdentityServer具有签名证书,而授权流不需要签名证书

到目前为止,我的理解是:流“ClientCredential”和“ResourceOwner”是“AuthorizationFlows”-即,它们具有客户端机密,所有令牌都从令牌端点返回,可以通过刷新令牌进行长期身份验证,令牌不会透露给用户代理/浏览器(相反,它们存储在服务器上,并向用户代理/浏览器发送cookie或类似内容)对于直接访问WebAPI的SPA/JS应用程序,应使用隐式流,因为JS客户端直接从浏览器调用Identity server,因此无法保留客户端机密(因为它必须传输到浏览器,从而影响安全性)

所有这些都是有道理的,但在所有情况下,IdentityServer都会生成应用程序用于授权的令牌,因此我很困惑为什么在一种情况下需要签名,而在另一种情况下不需要签名


非常感谢您的帮助!

无论何时签发JWT(id\u令牌或access\u令牌),都需要签名证书.

非常感谢!我仍然有点困惑,因为我的理解是,这三个流都允许调用者获取访问令牌……该令牌是隐式流的JWT,还是ClientCredentials和ResourceOwner流的其他令牌类型?如果是,为什么不同流的令牌类型不同?