如何使用TBA身份验证请求Netsuite RESTlet

时间:2018-11-29 11:14:10

标签: oauth http-headers netsuite access-token restlet-2.0

我正在尝试使用Alamofire(SWIFT)来请求我的Netsuite RESTlet,但遇到一些困难: 在文档中,指定了所需的不同参数(请参见下文)。

文档:

OAuth 1.0 RESTlet授权标头需要下表中描述的数据。这些值中的一些可以从NetSuite UI中获得。必须计算其他值。通常,您的集成应包括识别这些值并生成完成的标头的逻辑。遵循OAuth 1.0协议创建授权标头。 enter image description here

但是在邮递员中,我使用了额外的参数(消费者机密和令牌机密),如果我删除它们,它会起作用

enter image description here

要完成检查邮递员生成的Authorization标头的操作,我只能在文档中看到指定的参数:

OAuth realm="my realm",oauth_consumer_key="myConsumerKey",oauth_token="myAccessToken",
oauth_signature_method="HMAC-SHA1",oauth_timestamp="1543488570",
oauth_nonce="ERxdLbUfkeh",oauth_version="1.0",oauth_signature="UeqmxAyeUqtPoICLo%2FARsQE8B1E%3D"

如果有人可以向我解释这一点,则可以在我的应用程序中实现TBA身份验证,但现在我需要更好地了解此身份验证。

3 个答案:

答案 0 :(得分:1)

我也花了几个小时尝试使其工作。就我而言,我没有将帐户ID添加到领域参数中。这是我结束时的照片: Postman NetSuite TBA RESTlet Config

在这里您可以获取帐户ID: NetSuite RESTlet TBA realm param

我希望对您有帮助

答案 1 :(得分:1)

SuiteAnswer 42019中显示了为何邮递员需要消费者秘密和令牌秘密来生成令牌的解释-如上面屏幕快照中oauth_signature旁边的“注释”部分所述。来自that page

  
      
  1. 使用通过“&”(在这种情况下,为HMAC-SHA1或HMAC-256)连接的使用者密钥和令牌密钥对第5步中的结果字符串进行签名。
  2.   

换句话说,邮递员使用这些机密来生成对您的凭据进行身份验证的输出-如果没有它们,您将无法正确生成oauth_signature。

答案 2 :(得分:0)

我还遇到了NetSuite断开的RESTlet / TBA连接断开的许多问题。我确实在我们的软件中构建了此功能以帮助客户。您可以在下面的文章中看到我使用的方法。

Using NetSuite TBA by Calling a RESTlet from an HTTP Source or Target

相关问题