authentication - IdentityServer:客户端应用程序使用的正确授权类型是什么?
问题描述
我有一个场景不确定我应该使用哪种授权类型。
我们有一个当前的 Web 应用程序。用户将需要登录到我们现有的 Web 应用程序。登录后,用户需要点击一个按钮来注册自己或通过身份服务器登录并返回一个注册/登录的用户ID(我认为这是openId)。收到该 ID 后,我可以将此 ID 链接到我们现有的用户登录表。
解决方案
这既取决于您用于构建 Web 应用程序的技术,也取决于您想要提供的用户体验。
当您不需要刷新令牌或您有 JavaScript 应用程序时,建议使用隐式流。在这种情况下,所有令牌都通过浏览器通道传输。
混合流推荐用于服务器端 Web 应用程序和本机桌面/移动应用程序,并且还将支持刷新令牌等内容,以便让您的用户跨浏览器会话保持登录状态。此流程将浏览器通道用于身份令牌,将反向通道用于访问/刷新令牌。
这两种授权类型涵盖了 Web 应用程序的许多更常见的场景,但还有更多可供选择或考虑的内容。我建议您阅读IdentityServer4 文档中的内容。
推荐阅读
- gensim - 有没有办法在训练 doc2vec 模型之前加载预训练的词向量?
- mysql - 如何导入用外键删除的表?
- javascript - Ping service worker 不显示通知
- ruby - 如何获得最大总和的行?
- javascript - 如何使用 multer 将文件通过管道传输到 Google Cloud Storage?
- angularjs - AngularJS:服务完成异步请求后如何初始化组件
- css - 无法使用 Tailwindcss 使表单居中
- javascript - 如何正确地将连接的组件从基于类的组件迁移到 TS 上的功能组件?
- python - 检查影响 QListWidget 中特定项目集的项目
- java - 在Java中使用双圈链表将大小数相乘