首页 > 解决方案 > NetSuite:从在线表单调用 RESTlet 时出现跨域问题

问题描述

我有一个在线表格来收集用户信息。在这个表单中,我想调用 NetSuite 来获取数据。我在标题上使用“授权”建立了对 RESTlet 的调用,使用邮递员测试此脚本并且它可以正常工作但是当我在在线表单(客户端脚本)上做同样的事情时,调用 https.get() 到 RESTlet,有效标题包含“授权” ') 它返回错误“错误代码:INVALID_LOGIN_ATTEMPT”(无意义错误)。我花了 2 天时间研究为什么会发生这种情况,发现问题是跨域的(我尝试使用 $.ajax 调用 RESTlet 并找到问题)。

现在,我想知道如何在从在线表单调用时传递“跨域”问题。

调用 NetSuite 从在线表单获取数据的最佳解决方案是什么?

谢谢

标签: javascriptnetsuitesuitescript

解决方案


即使您能够绕过 CORS 限制,如果从客户端代码调用 Restlet 也是一个巨大的安全问题,因为您将授权令牌暴露给最终用户。

一个好的方法是使用中间件“代理”您的 Restlet,例如无服务器函数(如 Google Cloud Function、AWS Lambda 等)。这将解决 CORS 问题并确保您的凭据安全。


推荐阅读