2009-07-21 14 views
0

XMLHttpRequestとbasic-authを使用してアプリケーションインターフェイスにアクセスします。パスワードは一時的なもので、他の要求によって生成されるため、しばらくしてから有効期限が切れます。XMLHttpRequest、基本認証と期限切れパスワード

しかし、ブラウザ(Firefoxは最低)を使用して、古いものを使用し続け、失敗してログインポップアップを表示します。 X-Requested-Byと間違ったパスワードでリクエストを403回返すことでポップアップが表示されない場合、mozillaは新しいパスワードを使用しようとしません(firebugは新しいパスワードを要求します。

ユーザー名にランダムな 'salt'を追加することで問題を避けることができますが、サーバー側でXMLHttpRequestを強制的に使用するより良い方法はキャッシュされたパスワードですか?

答えて

0

401レスポンスには「認証ドメイン」が含まれ、デフォルトではサーバー上のすべてのURLになります(RFC 2617参照)。ブラウザは、同じドメインからのすべてのチャレンジに対して同じ資格情報を提供することが期待されています。

期限切れのパスワードが既に生成されているので、すべての要求に追加する必要があるトークンに変換するだけです。たとえば、ユーザー名のSHA1ハッシュ(おそらく、タイムスタンプで塩漬けされたもの)。私はあなたがユーザーのデータを取得するためにサーバー上のキーとしてこれを使用すると仮定しています。

+0

401の回答はありませんでしたか? – ymv

+0

あなたは正しいです - 私は更新しました – kdgregory