0

我有一个后端处理器(想象一个每天一次生成报告的计时作业),它需要与第三方系统集成。他们的 API 仅支持“授权码”授权类型。问题是我什至无法填写令牌请求,因为我没有redirect_uri(没有网站),而且我绝对没有任何类型的用户。我将通过他们的开发人员门户 (Mashery) 为我的后端报告处理器应用程序提供 OAuth 客户端 ID 和密码。

我想使用“客户端凭据”授权类型/流,因为我只是一个后端服务。

有没有办法伪造或破解它,以便我的小后端服务可以以某种方式与授权代码流一起工作?

提前致谢

4

1 回答 1

1

不,没有办法破解它。客户端凭据仅对客户端进行身份验证。为客户端凭据颁发的令牌没有关于用户的信息。如果他们的 API 需要有关用户的信息(您可能只获得有关您的用户的信息),那么您需要使用 Code Flow 颁发令牌。

您可以做的是自己生成 OAuth 令牌。例如,您可以使用oauth.tools通过他们的授权服务器执行代码流,或者您可以使用虚拟重定向 URI(例如 http://localhost)从浏览器执行流,获取从授权请求返回的代码并执行来自 curl 的令牌请求。

获得访问和刷新令牌后,您可以在脚本中对它们进行硬编码(或从环境变量或文件等中读取它们)。然后,只要访问令牌有效,您就可以调用 API,并在过期时使用刷新令牌获取新的访问令牌。只要刷新令牌有效,您就不必执行新的代码流。

于 2021-05-20T10:47:32.783 回答