Vil*_*kas 6 security authentication single-sign-on jwt openid-connect
我想将自托管的OpenID Connect(OIDC)服务器与JWT结合使用作为授权令牌(OIDC术语中的访问令牌).当UI是经典和单页应用程序(Angular)的混合时,JWT将用于保护REST服务.这样,REST层就能够基于无状态JWT令牌进行授权,因此不需要额外的数据库连接,如下所述:
https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/
对于单页面应用程序,OIDC Implicit Flow是合适的.但是,当Implicit Flow与无状态JWT令牌结合使用时,我看到一个安全问题:令牌作为URL中的片段部分传递,这意味着无法删除它们(它们在浏览器历史记录中很容易获得)也无效他们(他们是无国籍的) - >没有注销可能.
我看到2个缓解这个的选项:
第三种选择是放弃无状态JWT令牌并使用带有DB检查的简单承载令牌.
我错过了什么吗?你会选择什么?
人们可能会争论片段最终出现在浏览器历史记录中的风险,但“简单”的不透明承载令牌将受到您为 JWT 令牌描述的相同限制
OpenID Connect 规范当然不会阻止使用 AJAX 代码流,因此您可以直接使用它;隐式流程只是浏览器内客户端的建议,因为它优化了向用户代理获取令牌的往返次数
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |