Node.js与MS Exchange EWS的集成
我正在尝试使用Node.js调用SOAP Exchange EWS服务。 我创建了一个简单的http客户端,如下所示:
var https = require('https');
var username = 'user';
var password = 'password';
var auth = 'NTLM ' + new Buffer(username + ":" + password).toString('base64');
var options = {
host : 'exchangehost',
port : 443,
method : 'post',
path : '/Exchange.asmx',
headers : { Authorization : auth }
};
var request = https.request(options, function(response) {
console.log('Status: ' + response.statusCode);
};
request.write('<soapenv:Envelope ...></soapenv:Envelope>');
request.end();
我收到状态码401,我怀疑是因为我没有执行NTLM身份验证的三个步骤(http://www.innovation.ch/personal/ronald/ntlm.html)。 有谁知道Node.js模块直接与Exchange EWS通信或使用NTLM进行身份验证,还是需要为Node.js自己实现该协议? 任何援助非常感谢。
我已经成功地使用node-ews
与EWS进行通信。
node-ews
httpntlm
内部使用httpntlm
进行NTLM身份验证。
就个人而言,我认为node-ews是你最好的选择,因为它几乎已经实现了你需要与EWS交互的所有东西。
你有没有尝试过httpntlm模块? https://github.com/SamDecrock/node-http-ntlm
您是否尝试过ews-javascript-api npm模块,它具有您正在查看的所有功能+使用ews-javascript-api-auth模块的非常简单的ntlm身份验证。 NTLMv2也受支持。
我添加了这个答案,因为它可以提供问题标题(集成)的完整答案。 这些是github链接,问题很少,所以在github自述文件中提供的示例应该可以工作。
[免责声明 - 我是作者]
链接地址: http://www.djcxy.com/p/10409.html