使用'httpntlm'在React-Native中进行NTLM身份验证

时间:2019-01-17 08:41:40

标签: node.js react-native npm browserify ntlm

我正在制作一个react-native应用,该应用从具有ntlm authentication系统的后端获取一些数据。我尝试使用软件包“ httpntlm”,但不适用于react-native。由于它是核心节点库,因此它可以与node js一起使用,但不能与react-native一起使用。我应该怎么做才能将它与react-native一起使用?请提出我应该遵循的步骤。

1 个答案:

答案 0 :(得分:0)

我认为您最好的方法是使用fetch()并实现NTLM握手您自己。看看advanced section of the library

NTLM包含3条消息:

  • 消息类型1发送到服务器
  • 消息类型2是服务器的回复
  • 消息类型3发送到服务器

使用React Native's 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
  }
});

祝你好运