【问题标题】:How to perform authentication in QuickBooks Online in installed app (NOT a web app)?如何在已安装的应用程序(不是网络应用程序)中的 QuickBooks Online 中执行身份验证?
【发布时间】:2018-05-07 21:45:30
【问题描述】:

假设我有一个已安装的应用程序,例如控制台应用程序,而不是 Web 应用程序,我想与 QBO API 交互 - 我想从我的控制台应用程序(但不是从 Web 应用程序)执行对 QBO 的调用)。所以我必须从控制台应用程序进行身份验证,在控制台中进行调用和输出。

所有 QBO SDK 似乎都要求回调 URL 或重定向 URL,即我的服务器上的一个页面,它将执行 OAuth 2.0 身份验证所需的部分。由于我安装的应用程序不是网络服务器,因此我没有地方托管此逻辑。是的,我可以托管一个网络服务器来处理这个逻辑,但我不想这样做,这对我的用例来说是一种资源浪费(为什么让身份验证服务器处于待机状态?)。我只想在没有带有 QBO API 的网络服务器的情况下进行身份验证。这可能吗?我是否搞砸了对 API 或 OAuth 的理解?我完全不知所措。尽管这是我拥有的用例,但在任何示例代码中我都找不到合适的示例。 (我正在使用 .NET / C#)

【问题讨论】:

  • 您使用的是 OAuth 1.x 还是 OAuth 2.0?
  • 我使用 OAuth 2.0 只是因为似乎要求所有新应用都必须使用它。我根本不关心身份验证方法,只要我可以在没有回调 url 的情况下进行身份验证。

标签: c# .net oauth quickbooks quickbooks-online


【解决方案1】:

目前 QuickBooks 开发者平台似乎不支持此(非 Web 端点)。

根据直觉:

这些 URI 处理来自 OAuth 2.0 服务器的响应,并被称为 用户授权连接后。此列表中的 URI 是 只有那些授权响应可以从 OAuth 2.0 服务器。您必须至少定义一个 URI 专门用于 在您可以使用 OAuth 2.0 之前,您的应用程序的身份验证端点。

他们还添加了注释:

实现 OAuth 2.0 的基于移动或桌面的应用程序必须提供 用于重定向 URI 的单独 SaaS 层以处理来自 OAuth 2.0 服务器。

我意识到这不是你所希望的。但请理解,端点必须是 URL,以便安全地返回身份验证令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多