我正在制作一个react-native
应用程序,该应用程序可以从具有ntlm authentication
系统的后端获取一些数据。我尝试使用包"httpntlm",但它不适用于 react-native。由于它是核心节点库,因此它适用于node js
,但不适用于 react-native。我应该怎么做才能在 react-native 中使用它?请建议我应该遵循的步骤。
我认为你最好的方法是使用 fetch() 并自己实现 NTLM 握手。查看库的高级部分。
NTLM 包含 3 条消息:
- 消息类型 1 发送到服务器
- 消息类型 2 是来自服务器的回复
- 消息类型 3 发送到服务器
使用 React Native 的 fetch,发送消息类型 1 可能是这样的:
var options = {
url: "https://someurl.com",
username: 'm$',
password: 'stinks',
workstation: 'choose.something',
domain: ''
};
var type1msg = ntlm.createType1Message(options);
fetch('https://mywebsite.com/endpoint/', {
method: 'POST',
headers: {
'Connection' : 'keep-alive',
'Authorization': type1msg
}
});
祝你好运