Моят личен и професионален живот

2013-10-29

Разрешаване договарянето на удостоверение във Firefox

Е, загубих малко време разследвайки това, така че реших да го споделя. Опитах се да настроя NTLM удостоверяване във Firefox с търсене в мрежата, но това което ме тормозеше беше, че не работи, докато с IE въобще нямаше проблем. Повечето от резултатите предлагаха задаването на network.automatic-ntlm-auth.trusted-uris и аз добавих вътрешните сайтове там. Дори опитах да разреша за всички сайтове като зададох стойността "http://,https://", но пак нямах успех.

Днес реших, че е време да намеря решение, така че започнах с опресняване на знанията си от Интернет. Обикновено web сървъра изпраща HTTP 401 Unauthorized (или Authorization Required) отговор, така че продължих с изследване на HTTP заглавките (с помощта на Live HTTP Headers разширението) и забелязах, че след него Firefox всъщност не праща нищо за вътрешните хостове, които вече бях задал в network.automatic-ntlm-auth.trusted-uris. Странно, а? Да, докато в един момента не забелязах следното:

Authorization: Negotiate ...

Значи, web сървъра всъщност предлагаше договаряне на удостоверяващия механизъм, вместо да иска направо NTLM, но Firefox не се договаряше. Това ме накара да се замисля, че нещо липсва и потърсих за други ключове свързани с удостоверяването в about:config. Така открих network.negotiate-auth.trusted-uris и веднъж като зададох имената на вътрешните хостове като стойност на този ключ всичко си дойде на мястото - Firefox вече договаряше удостоверяване, което всъщност се оказа Kerberos actually.

Така че, когато настройвате автоматично удостоверяване за вътрешни сайтове имайте в предвид задаването и на двата ключа network.automatic-ntlm-auth.trusted-uris и network.negotiate-auth.trusted-uris, за да ви работи дори ако удостоверяващия механизъм се договаря.

Няма коментари: