是否存在可用于多种客户端类型的通用 OAuth2 工作流?

Is there an one-for-all OAuth2 workflow that I can use for multiple client types?

我正在构建一个将由 OAuth2 保护的应用程序。我期望的用户类型如下:

  1. 基于非机密浏览器的 java 脚本客户端。 (我的 Angular 客户端应用程序)
  2. 非机密本机应用程序客户端。 (我的 iOS/android 客户端应用程序)
  3. 基于第 3 方非机密浏览器的 java 脚本客户端。 (浏览器上的任何第三方 JS 应用程序 运行)
  4. 第 3 方非机密本机应用程序客户端。 (任何第三方 iOS/android 客户端应用程序)

我的问题:

  1. 是否有一种 workflow/grant 类型适用于我的所有上述 4 个用例?
  2. 如果不是,我应该考虑实施哪些工作流程以涵盖上述所有 4 种情况?

授权码授予类型可以涵盖您提到的所有用例。即使对于非机密的第 3 方 JS 应用程序,虽然隐式授权是为该用例设计的,但当前的建议似乎指向授权代码授权类型的方向。