B2B 应用程序的正确身份验证 - JWT、OAuth 等
Posted
技术标签:
【中文标题】B2B 应用程序的正确身份验证 - JWT、OAuth 等【英文标题】:Right authentication for B2B application - JWT, OAuth etc 【发布时间】:2017-08-06 06:30:03 【问题描述】:我阅读了有关选择正确身份验证机制的文章,我了解到 JWT 只是定义了一个令牌,而 OAuth 是一个可以使用 JWT 的完整框架。还有其他框架(Firebase?)和令牌标准。
现在,对于我的特定用例,我有一个带有 Angular2 的单页微服务应用程序,它将在相当旧的 B2B 环境(2GB ram,IE11)中在浏览器中运行一整天而无需任何刷新。所以不需要社交登录,轻量级的解决方案更可取。你有什么建议吗?
【问题讨论】:
【参考方案1】:这个问题可以帮助
您使用的是基于表单的 Web 还是 SPA?
表单:使用服务器会话
SPA:使用身份验证令牌(JWT 或不透明)
使用身份验证令牌,是否要避免在服务器端存储会话数据?
是:使用 JWT
没关系:使用不透明的标记
客户端需要验证令牌或提取令牌声明?
是:使用通过 RSA 签名的 JWT
否:将 JWT 与 HMAC 或不透明令牌一起使用
你们有第三方的 API 吗?
是:用户登录成功后使用 OAuth2 或 OpenIDConnect 颁发身份验证令牌
否:没有额外的东西
您想管理用户密码吗?
是:制作您自己的注册和登录表单
否:集成社交登录(他们使用 oauth/OIDC)
【讨论】:
以上是关于B2B 应用程序的正确身份验证 - JWT、OAuth 等的主要内容,如果未能解决你的问题,请参考以下文章
在 React Redux 应用程序中使用 JWT 身份验证令牌的正确方法
在身份验证期间使用 JWT 令牌反序列化 cookie 无法正确反序列化