基于令牌的身份验证 (TBA) - OAuth - Netsuite - 其余 Web 服务 - 无效的登录尝试

Axi*_*xil 5 rest web-services netsuite oauth-2.0

我一直在尝试使用 netsuite 执行基于令牌的身份验证 (TBA),但不断收到“无效登录尝试”

我也尝试参考此内容: How to request Netsuite RESTlet with TBA authentification

我都试过了

Python:

https://gist.github.com/axilaris/6ecc58e43895dba17ce0ca1b8ce25d9a (请检查代码和响应错误)它主要基于https://www.techfino.com/hubfs/Techfino_March2018/Images/Token-Based-Authentication-Guide -for-NetSuite.pdf

邮差:

在此输入图像描述

在此输入图像描述

这是我的 netsuite 权限配置:

在此输入图像描述

在此输入图像描述

小智 8

“无效登录尝试”是当身份验证标头中存在错误配置时 NetSuite 引发的一般错误。解决此问题的最佳方法是使用“登录审核跟踪”搜索。从那里,您应该能够排除参数出现的问题。可能是您在令牌之一中输入了额外的字符或空格,或者您\xe2\x80\x99 没有生成新的时间戳或随机数。

\n

按着这些次序:

\n
    \n
  • 转至设置 > 用户/角色 > 用户管理 > 查看登录审核跟踪。
  • \n
  • 选中使用高级搜索框。
  • \n
  • 单击结果子选项卡。
  • \n
  • 添加以下字段:详细信息、基于令牌的访问令牌名称和基于令牌的应用程序名称。
  • \n
  • 应用名称。
  • \n
  • 单击提交。
  • \n
  • “详细信息”列显示任何状态为“失败”的基于令牌的身份验证登录的错误消息。
  • \n
\n

经过仔细调试,我发现生成请求令牌的时间戳花费了更多时间。我用我的标准时区更改了时间偏移。同步时间后,它对我有用。因此,即使 NetSuite 中的令牌定义不会过期,用于生成请求令牌的时间戳也必须与 NetSuite 环境中的时间处于时间窗口内。

\n

另请检查以下几点:

\n
    \n
  • 未选中仅 Web 服务角色。
  • \n
  • 检查您的相关集成是否已选中基于令牌的身份验证。
  • \n
\n


小智 5

尝试将签名方法从 HMAC-SHA1 切换到 HMAC-SHA256。NetSuite 即将终止对 SHA1 的支持,我已经遇到过一次问题。