2009-08-24 16 views
4

OpenIdをASP.NET MVCアプリケーションに統合するためにDotNetOpenAuth MVC依存パーティクルサンプルコードを使用しています。DotNetOpenAuth - 信頼する側が信頼できるサイトでOpenIdのログインリダイレクトがハングアップする

コードは、次の場合を除いて素晴らしいです:私のアプリが信頼できるサイトで、IEの下でホストマシン以外の場所からそのサイトにアクセスしているとき、OpenIdへのリダイレクトプロバイダがハングします。

具体的には、コントローラメソッドがプロバイダにリダイレクトするActionResultを返すポイントにコードが到達し、IEがそこに着くとサイクルが発生します。

私は、スタックオーバフロー自体をテストして正常に動作したため、信頼する側が信頼できるサイトであっても、MVCでOpenId認証をサポートすることができます。

私は、トラフィックを見るためにFiddlerを使用しました。私のアプリケーションが信頼できるサイトであるときは、プロバイダに要求が出されませんでした。

アイデア?

当該サンプルDotNetOpenAuthコードの行である:。

リターン openid.CreateRequest(のRequest.Form [ "openid_identifier"])RedirectingResponse.AsActionResult();

更新#1 フィドラーで、Iは、コントローラのアクションIは、リダイレクトのロケーションヘッダと302応答リターンを呼び出していていることがわかりますが、何もまったくその後起こりません。私はstackoverflow.comとnerdbank.orgで再テストし、これらの2つのサイトでまったく同じ失敗動作を見た。私は信頼できるサイトとして両方を追加し、IEから完全にクローズしました。そして、私がこれらのサイトに戻ったとき、私は正常にログインできませんでした。

私はWindows 7でIE 8を実行しています。役立つ場合は、完全なFiddlerログを提供できます。

また、サイトが「信頼できる」と言われると、IEブロックは信頼されていないドメインへのリダイレクトをブロックするという言い方もあります。

更新#2

私は私の信頼済みサイトへのオープンIDプロバイダを追加し、現在リダイレクトが発生したため、ログインプロセスが動作します。だから、これは実際にユーザーエージェント(IE)の問題のようです。私はこのリンクを見つけた3

更新#は:link text

同様の問題を記述しているようです。私は提案された決議に従って、私の信頼できるサイトとインターネットゾーンの両方をIEの "保護モード"に設定しました。それは私の問題を解決したようです。

+0

実際、相互完全性レベルのリダイレクトは常に難しいです。しかし、適切なリダイレクトを可能にする修正プログラムを入手した後でも、一部のサイトに問題がある可能性があります。問題は、ミディアムインテグリティIE(信頼ゾーン)と低インテグリティIE(インターネットゾーン)が異なるクッキーストアを持っていることです。ある完全性レベルで設定されたCookieは、他の完全性レベルに存在しません。 – EricLaw

+0

私の特定のシナリオでは、ここに問題はありません。 OpenIdプロバイダから認証を受け取り、サーバー側でフォームの認証Cookieを作成します。そのCookieは、アプリケーションが実行されている信頼ゾーンのCookieストアに置かれます。ログインした後に誰かが自分のアプリケーションの信頼ゾーンを変更した場合、問題が発生します。 –

答えて

2

信頼済みサイトは厳密にIE機能であり、RPでの実行には影響しません。だから私はRPがユーザーエージェントにリダイレクトする命令を送信していると思われます。フィドラーはこれを確認または反論することができます。 IEに信頼できるサイトから信頼されていないサイトへのリダイレクトを壊す「機能」がある場合、RPがそれについて何かできることは確かではありません。

ちなみに、StackOverflowはDotNetOpenId(DothNetOpenAuthの前身)を使用しているため、あなたのために機能していると言うことは、おそらく設定を修正するための設定が異なることを示唆しています。

更新:Win7 RCにはIE8とWin7のバグがありました。修正があります。 RCを実行している場合は、RTMが利用できるようにしっかりと座ってください。また、このシナリオを他のRTM WindowsオペレーションシステムおよびIEブラウザで再試行することもできます。

+0

nerdbank.orgが信頼できるサイトである場合、IEを使用していて、nerdbank.org/rpログインが機能しますか?私はstackoverflowが動作していると思ったが、私は完全にログアウトして、それを私の信頼できるサイトに追加し、IEを再起動してクリーンなテストをしなければならないと考えた。 –

+0

私はnerdbank.org/rpからログアウトし、ブラウザを閉じて(信頼できるサイトにした後)、テストを再開します。それはまだ私のために働く。あなたが私にそれをreproするのを助けるために他の何かを提案することができれば、それを調べることを嬉しく思う。 –

+0

ああ、ちょうど質問へのあなたの更新に気づいた。私はこれが完全にIEの問題であり、RPはそれについて何もできないとあなたに同意するでしょう。 IEのリダイレクトについて見つかったものへの参照を提供できますか? –

関連する問題