Я пытаюсь сделать запрос OAuth к Xero API в JavaScript. API требует OAuth 1.0a. Я хочу запустить JavaScript в клиентском браузере, поэтому предполагаю, что не могу использовать Node.js?
Причина, по которой я хочу запускать его в клиентском браузере, заключается в том, что он должен работать в SharePoint Online, который не позволяет выполнять код на стороне сервера, и я предпочитаю не размещать отдельное приложение.
Я могу выполнять вызовы API из кода на стороне сервера с помощью C# (сделал это только для того, чтобы убедиться, что я могу правильно вызвать API), и теперь я хочу выполнять те же вызовы в JavaScript.
Возможно ли вообще это сделать на стороне клиента? Пожалуйста, поделитесь своими мыслями, поскольку я немного не понимаю, как это сделать.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы действительно не можете этого сделать. Технически это возможно, но вы столкнетесь с проблемами с CORS и, что более важно, это очень небезопасно.
Поскольку вы должны подписывать свои звонки секретным / закрытым ключом, полностью клиентское приложение в основном означает передачу вашего секретного / закрытого ключа любому, кто загружает ваше приложение в своем браузере.
OAuth 2 уже на подходе (https://xero.uservoice.com/forums/5528-xero-accounting-api/suggestions/2102751-oauth-2-0), что сделает такие приложения жизнеспособными.
(Полное раскрытие: я разработчик API в Xero)