首页 > 解决方案 > 同时从移动设备和 Web 刷新 JWT 令牌的最佳实践

问题描述

我们正在构建一个客户应用程序。为此,我们正在使用会计软件 (ZOHO)。项目将从会计软件中提取,并使用 API 直接在会计软件上生成账单。API 使用 JWT 进行身份验证。为每个用户生成 JWT 令牌是一个“用户同意页面”,它应该从 Web 浏览器手动批准。因此,对于我们不会注册为用户的每个客户,我们计划将它们创建为客户。

我们现在真正计划做的是创建一个 JWT 令牌对(在手动批准后)并将其用于所有客户的所有 API 调用。我的第一个问题是,这会是一个好方法吗?

第二个问题,令牌的有效期为 1 小时。之后,我们应该使用刷新令牌来生成新令牌。我们如何在网络和移动设备上有效地处理这个问题(网络和移动设备上的客户同时使用相同的令牌进行 API 调用,令牌更改应该反映在所有客户端设备上)?这样做是个好主意吗?

标签: pythondjangojwtzohobooks

解决方案


在这种情况下,您可以在 Zoho Books 中为基于服务器的应用程序创建一个连接,从而使用 OAuth 对 API 调用进行身份验证。当您设置此集成时,通过 API 进行的通信将仅在 Zoho Books 和您的第三方应用程序之间进行,而不是在 Zoho Books 和您的客户之间直接进行。因此,您可以最终为您的客户验证用户界面。

当您最初构建 API 集成时,您将创建一个刷新令牌。这可以在您的脚本中进行硬编码,并设置为每小时从中生成访问令牌。请注意,必须为基于 Web 和基于移动的应用程序分别生成刷新令牌和访问令牌。这是我们的帮助资源供您参考。您可以存储访问令牌和到期时间,并在使用访问令牌之前验证到期时间。如果它已过期,则生成一个新的访问令牌。请格外小心以确保不暴露刷新令牌。

我希望这有帮助。如果您有进一步的疑问,请随时与我们联系。


推荐阅读