Node.js NTLM HTTP身份验证,如何处理3种类型

A W*_* It 6 authentication encoding ntlm node.js

好吧,对不起,如果这是一个愚蠢的问题,但我正在尝试使用Node.js进行NTLM身份验证.我一直在读这篇文章(http://davenport.sourceforge.net/ntlm.html#theNtlmMessageHeaderLayout).我发送标头并获得Base64身份验证标头.

我尝试通过使用base64编码创建一个新的Buffer然后调用toString('utf8')返回类似的字符串,将它从Base64转换为UTF8

NTLMSSP\u0000\u0001\u0000\u0000\u0000\u0007�\b�\u0000

这是我需要帮助的地方.我理解NTLMSSP\u0000是空终止签名,但是其余的应该表明什么,但对我来说它只是垃圾.它是unicode字符,但我怎么能从中得到实际数据呢?我可能会错误地转换它,这可能会增加我的麻烦,但我希望有人可以提供帮助.

Sam*_*Sam 5

看看http://www.innovation.ch/personal/ronald/ntlm.html 您收到的是第二类消息。这些页面以非常实用的方式对其进行了说明。您必须提取服务器质询(立即)和服务器标志。

我刚刚为node.js实现了一个模块来做到这一点:https : //github.com/SamDecrock/node-http-ntlm


Mic*_*lon 3

你看过NTLMAPS吗?

您也许可以通过将其用作代理服务器来解决您的问题,但如果您确实想在 Javascript 中实现 NTLM 身份验证,那么 NTLMAPS 提供了大量可供研究的工作代码。