OAuth - 让授权代码流在没有网站或用户的情况下工作?

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

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

有什么办法可以伪造或破解它,以便我的小型后端服务能够以某种方式处理授权代码流?

提前致谢

cjh1031 回答:OAuth - 让授权代码流在没有网站或用户的情况下工作?

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

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

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

本文链接:https://www.f2er.com/390533.html

大家都在问