2012-01-10 5 views
5

FedMetadataのドキュメントではサインアウト通知とサブスクリプションエンドポイントを提供でき、web.configはサインインリクエストの発行者URLを定義していますが、WIFがサインアウトリクエストを送信する場所がわかりません。使用しているSTSでサインインとサインアウトのリクエストに異なるエンドポイントが定義されている場合、どのようにコードにアクセスしたり、web.configで設定することができますか?asp.net MVC 3でWIFを使用する場合、STS Signoutエンドポイントはどこで定義しますか?

答えて

4

既定では、WIFはサインインに使用されたサインアウトと同じSTSエンドポイントにリダイレクトされます。別のエンドポイントに直接するには、FederatedSignOutを使用してサインアウトアクションを上書きする必要があります:

WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule; 

string signoutEndpoint = "http://STS/yourendpoint/"; // This can be stored in your configuration app settings 
string signoutUrl = WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(signoutEndpoint, authModule.Realm, null); 

WSFederationAuthenticationModule.FederatedSignOut(new Uri(signoutUrl), new Uri(currentPage)); 

うまくいけば、このことができます。

+0

これは私が知る必要があったものです。私はconfigにエンドポイントを置いていましたが、代わりにURLを取得したWIFパラメータがないことを確認したかったのです。 – ryanhallcs

関連する問題