HTTP Negotiate Windows против реализации Unix-сервера с использованием python-kerberos - PullRequest
3 голосов
/ 15 апреля 2010

Я попытался реализовать простой единый вход на моем веб-сервере python. Я использовал пакет python-kerberos, который прекрасно работает. Я проверил его из своего Linux-бокса (проверка подлинности по активному каталогу), и это было без проблем. Тем не менее, когда я пытался пройти аутентификацию с помощью Firefox с компьютера с Windows (без специальной настройки, просто пользователь вошел в домен + добавил мой сервер вgotiate-auth.trusted-uris), это не сработало. Я посмотрел на то, что отправлено, и это даже не похоже на то, что отправляет машина Linux. Это описание Microsoft процесса во многом напоминает то, как работает мое взаимодействие с Linux, но машина Windows обычно отправляет очень короткую строку, которая даже не похожа на то, что указано в документации Microsoft, и когда декодируется base64 , это что-то вроде 12 нулевых байтов, за которыми следуют 3 или 4 ненулевых байта (функции GSS затем возвращают, что не поддерживают такую ​​схему)

Либо что-то не так с настройками клиента Firefox, либо существует какой-то протокол, которому я должен следовать для протокола переговоров, но нигде не могу найти ссылки. Есть идеи что не так? Есть ли у вас какие-либо идеи о том, какой протокол мне следует, пытаясь найти, поскольку он не похож на SPNEGO, по крайней мере, из документации MS.

Обновление: теперь кажется, что по крайней мере выдают разумные данные (чистая установка firefox на чем-то отличном от windows7 ...), однако я получаю: ((«Неуказанный сбой GSS. Дополнительный код может предоставить дополнительную информацию», 851968), ('', 100004)) С данными согласования теперь все в порядке, так что это еще одна ошибка. Любая идея, где я могу расшифровать, что означает 100004?

1 Ответ

1 голос
/ 22 августа 2012

В Windows вам также необходимо убедиться, что network.auth.use-sspi = true , чтобы Firefox использовал собственный Kerberos для Windows (SSPI), а не искал GSSAPI DLL.

Если это не так, и вы хотите обеспечить захват пакетов Kerberos и HTTP-трафиком, я с удовольствием на это посмотрю.

...