NetSuite RESTlet JSESSIONID 身份验证

NetSuite RESTlet JSESSIONID authentication

我正在尝试从客户端脚本访问 NetSuite RESTlet,而不对身份验证数据进行硬编码。 NetSuite 文档说 "For a RESTlet called from a client hosted by NetSuite, you do not need to pass authentication information in the HTTP request. A check for a valid NetSuite session (JSESSIONID) occurs, and this existing session is reused." SuiteAnswers 的另一位文档说 "As for the second option [using JSESSIIONID cookie], this is normally used for sending multiple session. But for this to be used, you must have at least one NLAuth authentication done."

不用说我很困惑。我还没有看到任何使用 JSESSIONID 进行 RESTlet 身份验证的示例。我自己试过了,还是不行。

    function getCookie(name) {
      var re = new RegExp(name + "=([^;]+)");
      var value = re.exec(document.cookie);
      return (value != null) ? unescape(value[1]) : null;
    } 

    var sessionId = getCookie("JSESSIONID");

    var headers = {"Cookie": "JSESSIONID=" + sessionId ,
            "Content-Type": "application/json"};

我检查了 sessionId 变量,看起来不错。当我对身份验证进行硬编码并使用 nlAuth 时,它工作正常。我不确定为什么这不起作用,除非文档中上面的第二个陈述是准确的。是否有人仅使用 JSESSIONID 对 NetSuite RESTlet 进行了身份验证?

我想通了。这是可能的,你必须使用相对 url。我在寻找答案时一直错过了那个建议。

我想通了。这是可能的,你必须使用相对 url。我在寻找答案时一直错过了那个建议。