微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

提前致谢

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。