是否可以在没有 Java 网络浏览器的 OAuth 2.0 中获取授权代码?

Иль*_*чев 6 java oauth-2.0

据我了解,在授权码流程中,我们需要获取授权码并在之后使用它来获取令牌。只有当用户确认指定的访问权限时,我们才能获取此代码。在该浏览器将我们重定向到 redirect_uri 之后,响应将包含授权代码作为参数。那么,问题是:是否有可能在没有浏览器或任何自制 UI 的情况下获得此授权码?例如,我们可以在正确请求后在应用程序中获取它https://mysite.tuz/authorize吗?

Moh*_*lra 5

当您使用授权码流时,客户端需要用户代理(即浏览器或移动应用程序)从授权服务器获取授权码。

使用授权码的全部目的是它可以通过用户的 Web 浏览器(用户代理)传递,而不是直接通过不需要的 Web 浏览器(用户代理)传递访问令牌。使用授权码,客户端可以直接从授权服务器获取访问令牌。

因此需要用户代理获取授权码并充当客户端和授权服务器之间的中介。

如果您不需要浏览器,那么授权码流可能不是正确的选择。OAuth 2.0 支持多种不同的授权,即检索访问令牌的方式。决定哪一种适合您的情况主要取决于您客户的类型。

这可能会帮助您决定使用哪个流程 https://auth0.com/docs/api-auth/which-oauth-flow-to-use