【问题标题】:IdentityServer: What is the right grant type to use for the client application?IdentityServer:客户端应用程序使用的正确授权类型是什么?
【发布时间】:2023-04-03 19:37:01
【问题描述】:
我有一个场景不确定我应该使用哪种授权类型。
我们有一个当前的网络应用程序。用户将需要登录到我们现有的 Web 应用程序。一旦登录,用户需要点击一个按钮来注册自己或通过身份服务器登录并发送回一个注册/登录的用户ID(我认为这是openId)。收到该 ID 后,我可以将此 ID 链接到我们现有的用户登录表。
【问题讨论】:
标签:
authentication
model-view-controller
oauth
identityserver4
【解决方案1】:
这取决于您用于构建网络应用的技术以及您想要提供的用户体验。
当您不需要刷新令牌或您有 JavaScript 应用程序时,建议使用 隐式 流。在这种情况下,所有令牌都通过浏览器通道传输。
hybrid 流推荐用于服务器端 Web 应用程序和本机桌面/移动应用程序,并且还将支持刷新令牌等内容,以便让您的用户跨浏览器会话保持登录状态。此流程将浏览器通道用于身份令牌,将后台通道用于访问/刷新令牌。
这两种授权类型涵盖了网络应用程序的许多更常见的场景,但还有更多可供选择或考虑的内容。我建议您在IdentityServer4 docs 中阅读。