OAuth 的最佳实践 "application server" - Square

Best practices for the OAuth "application server" - Square

我有一个应用程序使用个人访问令牌来访问 GET 项目列表。我想切换到使用 OAuth,应用程序将仅使用 ITEMS_READ。

我的应用程序是一个守护程序 运行,位于专用于此应用程序的安全 Ubuntu 服务器实例上。关于 "application server",square 有什么建议吗?"application server" 的典型最佳实践是什么?

谢谢

API 文档相当广泛,包括 a helpful section about OAuth。我在过去的 OAuth 实施中注意到的一些常见陷阱导致我指出这些问题:

  1. 如果您只是构建供自己使用的一次性集成,可能不值得使用 OAuth。
  2. 确保您了解 OAuth 的工作原理。如果您发现自己在询问用户的客户端机密或个人访问令牌,或任何其他需要他们在 connect.squareup.com 打开应用程序管理仪表板的内容,您需要重新考虑您的实施。只有您(开发人员)需要了解访问令牌和其他 API 凭据。
  3. 您通常可以要求比您需要的最低限度更多的 OAuth 范围。我建议也获得 MERCHANT_PROFILE_READ。这对于管理帐户很有用,因此您可以点击 /v1/me 获取您需要的各种 ID。
  4. Square OAuth 访问令牌过期 as described here。它们会持续 30 天,因此这可能会逐渐影响到不了解它的开发人员。您将需要使用计划任务来更新即将过期的访问令牌,并在这样做后清除旧令牌。像 cronjob 这样简单的东西应该没问题。

就您使用的技术堆栈而言,这完全取决于您。 Square Connect 团队很乐意在可能的情况下提供帮助和建议。