You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用node-opcua连接OPC UA服务器遇身份令牌被拒问题求助

解决node-opcua客户端匿名模式下BadIdentityTokenRejected错误的方案

我之前也碰到过类似的问题,给你几个实用的排查和解决方向:

  • 确认客户端身份令牌配置正确
    即使服务器开启了匿名模式,客户端如果没正确设置匿名令牌也会被拒绝。检查你的代码里是否明确指定了AnonymousIdentityToken,示例代码如下:

    const userIdentityToken = {
        type: "Anonymous",
        policyId: "Anonymous"
    };
    // 在创建会话时传入这个令牌
    const session = await client.createSession(userIdentityToken);
    

    另外注意policyId要和服务器端配置的匿名策略ID保持一致,大部分服务器默认是Anonymous,但如果服务器有自定义配置就得对应修改。

  • 检查服务器匿名权限设置
    服务器开启匿名模式不代表自动允许匿名用户创建会话,有些OPC UA服务器默认会限制匿名用户的操作权限。你需要登录服务器管理界面,确认匿名用户被授予了创建会话的权限,同时检查是否有其他安全策略阻止了匿名访问。

  • 用测试工具验证服务器端点
    先抛开node-opcua客户端,用专业的OPC UA测试工具尝试以匿名方式连接服务器。如果测试工具也连不上,那问题大概率出在服务器配置上;如果测试工具能正常连接,再回头排查客户端代码的问题。

  • 查看服务器详细日志
    很多OPC UA服务器会在日志里记录身份令牌被拒绝的具体原因,比如“匿名用户无会话创建权限”或者“端点安全策略不匹配”。去服务器的日志目录里找找相关条目,这能帮你快速定位核心问题。

  • 排查客户端版本兼容性
    偶尔会因为node-opcua客户端和服务器的OPC UA规范版本不兼容导致此类错误。建议把node-opcua升级到最新稳定版,或者确认服务器支持的OPC UA版本,确保客户端和服务器的版本匹配。

内容的提问来源于stack exchange,提问作者farminf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:56:50