来自 javascript 的 OAuth 请求

OAuth request from javascript

我正在尝试向 JavaScript 中的 Xero API 发出 OAuth 请求。 API 需要 OAuth 1.0a。我想 运行 客户端浏览器上的 JavaScript,所以我假设我不能使用 Node.js?

我想在客户端浏览器中 运行 的原因是它必须在不允许服务器端代码的 SharePoint Online 中 运行 并且我不想单独托管应用

我可以使用 C# 从服务器端代码进行 API 调用(这样做只是为了确保我可以正确调用 API),现在我想在 JavaScript.

甚至可以做这个客户端吗?请分享您的想法,因为我对如何执行此操作有点困惑。

你真的做不到。这在技术上是可行的,但您 运行 会遇到 CORS 问题,更重要的是它非常不安全。

因为您必须使用 secret/private 密钥对呼叫进行签名,所以完全客户端应用程序基本上意味着将您的 secret/private 密钥交给在浏览器中加载您的应用程序的任何人。

OAuth 2 即将推出 (https://xero.uservoice.com/forums/5528-xero-accounting-api/suggestions/2102751-oauth-2-0),这将使此类应用程序可行。

(全面披露:我是 Xero 的 API 开发人员)