【问题标题】:How can I pass in an OAuth2.0 Token when making HTTP Request in SQL Server?在 SQL Server 中发出 HTTP 请求时如何传递 OAuth2.0 令牌?
【发布时间】:2021-08-24 13:15:05
【问题描述】:

我正在尝试从 SQL 存储过程中连接到 Quickbooks Online 的 API,并且想知道是否可以执行 this right here 之类的操作,但也可以传递 OAuth2.0 凭据(例如,刷新令牌、访问令牌等) , 重定向 URI, 客户端密码)。

例如。使用 QBO 的 API。我知道网址链接是https://sandbox-quickbooks.api.intuit.com/v3/company//account/1?minorversion=14

但是这个请求总是会失败并返回错误 401 - 授权。我怎样才能传递 OAuth 凭据,以免发生这种情况?

谢谢,如果这更适合其他地方,请告诉我。

【问题讨论】:

  • 构建您自己的 CLR 函数/过程。不要使用那些陈旧的程序;它们更多是为了与真正的旧数据库(例如 SQL Server 2000 中的数据库)兼容。
  • 避免使用 sp_OA* procs:它们不是线程安全的,如果处理不当,它们会像筛子一样泄漏资源,而且它们是特定于 Windows 的。 CLR 函数/过程是一种改进,但与 Web API 的交互实际上不属于数据库内部,应该由外部进程处理。 refresh_tokens 也不能用于 API 访问,它们仅用于更新过期的 access_tokens。尝试阅读 JWT 和 IdentityServer4 以更好地了解 OpenID Connect 和 OAuth2 机制的工作原理。

标签: sql sql-server api oauth-2.0 quickbooks-online


【解决方案1】:

使用您首选语言的 OAuth 客户端库。

如果您使用 IntuitDeveloper 没有客户端库的语言,则需要创建自己的 OAuth 流程。

【讨论】:

    猜你喜欢
    • 2019-11-27
    • 2013-06-24
    • 1970-01-01
    • 2021-12-17
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2018-01-10
    相关资源
    最近更新 更多