使用node.js的NTLM身份validation

我需要使用node.js与使用NTLM代理身份validation的服务器进行通信。

我已经使用了2个模块:

  1. node-curl https://github.com/jiangmiao/node-curl
  2. 请求,强烈build议htps://github.com/mikeal/request

我发现ntlm的请求模块没有任何文档,尽pipenode-curl支持curl easy选项,但是我没有find关于如何为CURLOPT_HTTPAUTH指定CURLAUTH_NTLM的文档。

我想知道如何照顾NTLM代理身份validation。 我很想继续使用请求模块。

写了一个Node.js库来执行HTTP NTLM握手: https : //github.com/SamDecrock/node-http-ntlm

它从Python-ntlm库移植。

在Node.js代码中直接使用NTLM是否很重要?

相反,您可以尝试安装一些中间NTLM代理,这将使您有机会在node.js中使用简单的HTTP代理。 至less有两个解决scheme:

  1. Cntlm – 用C写成
  2. Ntlmaps – 用Python编写

如果您使用Express,则可以使用express-ntlm,这使得NTLM总体上不那么令人沮丧

https://www.npmjs.com/package/express-ntlm

以下是Node.js中NTLM服务器端的部分实现。 这可能有助于开发客户端请求: https : //gist.github.com/3049352

这里有一些代码看起来会产生types1消息,并接收types2响应。 types3消息尚未实现,并且是最后一步:github.com/kevinswiber/node-ntlm-client

这里有一些关于NTLM协议的文档可以帮助完成它: http : //www.innovation.ch/personal/ronald/ntlm.html

这是一个开始。

不幸的是,我只做了或多或less的简单版本的NTLM。

这是一个更完整的: https : //gist.github.com/Piot/3063016