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



我有一个后端处理器(假设一个chron作业每天生成一次报告(,它需要与第三方系统集成。它们的API仅支持";授权码";授予类型。问题是,我甚至无法填写代币请求,因为我没有redirect_uri(没有网站(,而且我绝对没有任何类型的用户。我只需要通过他们的开发人员门户(Mashery(为我的后端报告处理器应用程序提供OAuth客户端ID和机密。

我想使用";客户端凭证";grant-type/flow,因为我只是一个后端服务。

有没有什么方法可以伪造或破解它,这样我的小后端服务就可以以某种方式使用授权代码流?

提前感谢

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

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

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

最新更新