Используя WIF с ASP.NET MVC 3, где мне определить конечную точку STS?
-
26-10-2019 - |
Вопрос
Я вижу, что документ Fedmetadata может предоставить уведомления о выписании и конечных точек подписки, а Web.Config определяет URL -адрес эмитента для подписи в запросах, но я не могу найти, где WIF знает, чтобы отправить запросы на подпись. Если STS, которые я использую, определяет разные конечные точки для входа в систему и регистрации запросов, как я могу получить к этому доступ в коде или настроить это в web.config?
Решение
По умолчанию 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));
Надеюсь, это поможет.
Не связан с StackOverflow