【问题标题】:NTLM Authentication with request-ntlm使用 request-ntlm 进行 NTLM 身份验证
【发布时间】:2018-04-29 18:53:22
【问题描述】:

我在我的 Node 中间件上使用 request-ntlm 包来连接到远程 Azure 服务器。我的凭据有效,因为连接在 Insomnia(REST 客户端)中工作,但从 Node 连接时我一直遇到同样的错误:

events.js:176
domain.enter();
       ^

TypeError: domain.enter is not a function
    at Request.emit (events.js:176:12)
    at Request.start (C:\Users\DJ5629\Documents\powerbi\node_modules\request\req
uest.js:750:10)
    at Request.end (C:\Users\DJ5629\Documents\powerbi\node_modules\request\reque
st.js:1512:10)
    at end (C:\Users\DJ5629\Documents\powerbi\node_modules\request\request.js:56
1:14)
    at Immediate.<anonymous> (C:\Users\DJ5629\Documents\powerbi\node_modules\req
uest\request.js:575:7)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)

这是我用来发出 NTLM 请求的代码:

let opts = {
    url: api+'Contracts/getAll',
    headers: {
      'accept': 'application/json'
    },
    workstation: 'WRKSTN',
    domain: 'arandom.domain.com'

  }

  ntlm.get(opts, function(err,response){
    if(!error){
      res.status(response.statusCode).send(response);
    } else {
      res.status(response.statusCode);
    }
  })

仅当我在选项中提供域名时才会引发此错误,但是当我删除 domain 属性时我没有得到任何答案。

系统信息: - Windows 7 企业版 - 节点 v6.11.4

感谢您的帮助

【问题讨论】:

  • 你能解决这个问题吗?
  • 不,幸好我们切换到 AWS,所以不再需要 ntlm :)

标签: node.js express ntlm


【解决方案1】:

这似乎是原始代码库中的一个错误,他们重用了 request 库中的 domain 成员导致命名冲突。由于原作者似乎不再维护该库,因此在request-nplm-continued 下创建了一个固定包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多