NTLM-аутентификация с использованием node.js
Мне нужно использовать node.js для связи с сервером с использованием проверки подлинности прокси NTLM.
Я использовал 2 модуля:
- завиток узла https://github.com/jiangmiao/node-curl
- запрос, приходящий настоятельно рекомендуется 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 намного менее разочаровывающим в целом
Для вас важно использовать NTLM непосредственно в коде node.js?
Вместо этого вы можете попробовать установить некоторые промежуточные прокси-серверы NTLM, которые дадут вам возможность использовать простой HTTP-прокси в файле node.js. Для этого есть как минимум два решения:
- Cntlm - написано на C
- 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
Это начало.