NetSuite RESTlet JSESSIONID身份验证

时间:2016-07-13 19:21:20

标签: authentication session-cookies restlet netsuite jsessionid

我正在尝试从客户端脚本访问NetSuite RESTlet,而无需对身份验证数据进行硬编码。 NetSuite文档说“对于从NetSuite托管的客户端调用的RESTlet,您不需要在HTTP请求中传递身份验证信息。检查是否有有效的NetSuite会话(JSESSIONID),并重新使用此现有会话。” SuiteAnswers的另一部分文档说“至于第二个选项[使用JSESSIIONID cookie],这通常用于发送多个会话。但是要使用它,你必须至少完成一次NLAuth身份验证。”

不用说我很困惑。我还没有看到任何使用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。在寻找答案时我一直错过了这个建议。

1 个答案:

答案 0 :(得分:0)

我想出来了。这是可能的,您必须使用相对URL。在寻找答案时,我一直错过了这个建议。