私は、Firefox、Chrome、および Safari の 3 つのブラウザー用の (同じ機能セットを持つ) 拡張機能の開発を担当しています。機能の 1 つは、basic-auth auto-login です。認証情報は当社のサーバーから取得され、ユーザーは認証情報を手動で入力しなくても、ワンクリックで基本認証で保護された URL にログインできます。
FirefoxとChromeで動作しています。Firefox の場合、リクエストが XMLHttpRequest 経由で行われた場合でも、basic-auth クレデンシャルがキャッシュされるという事実を利用しています。だから、私は基本的にこれを行います:
//Make the basic-auth request to URL using XMLHttpRequest
var xml = new XMLHttpRequest();
xml.open('GET', URL ,false, USERNAME , PASSWORD);
xml.send('');
//Now redirect the current tab to the URL
window.content.document.location = URL;
これは Firefox で問題なく動作し、以前は Chrome でも問題なく動作していました。Google は Chrome の最新リリースでいくつかの変更を行いました。私は onAuthRequest コールバックを使い始める必要がありました。これは問題なく動作します (改善されない場合は、この投稿を参照してください: Chrome プラグイン開発: user:pass@url not supported byもう Google Chrome? )。
さて、問題は Safari 5.1 にあります。XMLHttpRequest 手法は機能していないようで、同等の onAuthRequest が見つかりませんでした。Safari 5.1 で同じ効果を達成する方法を知っている人はいますか?