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

标签 node.js authentication encoding ntlm

我正在尝试让 NTLM 身份验证与 Node.js 一起工作。我一直在读这个(http://davenport.sourceforge.net/ntlm.html#theNtlmMessageHeaderLayout)。我发送 header 并获得 Base64 身份验证 header 。

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

的字符串

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

这是我需要帮助的地方。我知道 NTLMSSP\u0000 是空终止签名,但其余部分应该表示,但对我来说这只是垃圾。它是 unicode 字符,但我应该如何从中获取实际数据呢?我可能转换不正确,这可能会增加我的麻烦,但我希望有人能提供帮助。

最佳答案

看看http://www.innovation.ch/personal/ronald/ntlm.html 您收到的是 Type-2 消息。这些页面以非常实用的方式对其进行了解释。您必须提取服务器质询 (nonce) 和服务器标志。

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

关于Node.js NTLM HTTP 身份验证,如何处理这 3 种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541099/

相关文章:

c# - 如何检测当前用户的审计日志?

.net - Base64 编码替代下划线

node.js - Node 项目的 Azure git 部署失败

php curl - 使用 http 身份验证访问 url(需要帮助)

javascript - Node.js:捕获 `child_process.spawn` 的 STDOUT

java - 基于 GWT RequestFactory 的身份验证

android - ffmpeg 编码音频中的持续时间和比特率不正确

java - 编码问题

javascript - Node.js 全局 eval,抛出 ReferenceError

javascript - Typescript async wait 不适用于 FS