NTLM-аутентификация с использованием node.js

Мне нужно использовать node.js для связи с сервером с использованием проверки подлинности прокси NTLM.

Я использовал 2 модуля:

  1. завиток узла https://github.com/jiangmiao/node-curl
  2. запрос, приходящий настоятельно рекомендуется https://github.com/mikeal/request

Я не нашел документации для модуля запроса для ntlm, и хотя node-curl поддерживает опции curl easy, я не нашел документации о том, как задать CURLAUTH_NTLM для CURLOPT_HTTPAUTH.

Я хочу знать, как позаботиться о проверке подлинности прокси NTLM. Я хотел бы продолжить использовать модуль запроса.

5 ответов

Написал библиотеку Node.js для выполнения HTTP NTLM Handshaking: https://github.com/SamDecrock/node-http-ntlm

Он портирован из библиотеки python-ntlm.

Если вы используете Express, вы можете использовать express-ntlm, что делает NTLM намного менее разочаровывающим в целом

https://www.npmjs.com/package/express-ntlm

Для вас важно использовать NTLM непосредственно в коде node.js?

Вместо этого вы можете попробовать установить некоторые промежуточные прокси-серверы NTLM, которые дадут вам возможность использовать простой HTTP-прокси в файле node.js. Для этого есть как минимум два решения:

  1. Cntlm - написано на C
  2. Ntlmaps - написано на Python

К сожалению, я только сделал более или менее упрощенные версии NTLM.

Это немного более полно: https://gist.github.com/Piot/3063016

Вот частичная реализация серверной части NTLM в Node.js. Это может помочь в разработке запроса на стороне клиента: https://gist.github.com/3049352

А вот код, который, по-видимому, генерирует сообщение типа 1 и получает ответ типа 2. Сообщение типа 3 еще не реализовано и является последним этапом: github.com/kevinswiber/node-ntlm-client

Вот некоторая документация по протоколу NTLM, которая должна помочь завершить его: http://www.innovation.ch/personal/ronald/ntlm.html

Это начало.

Другие вопросы по тегам