У меня есть приложение MVC, которое использует Azure ADFS и Azure ACS для проверки подлинности. Когда пользователь впервые входит в систему, он перенаправляется в Azure ASC для аутентификации. Когда это будет сделано успешно, пользователь перенаправляется обратно на сайт с токеном и может использовать систему в обычном режиме.
Когда пользователь выходит из системы, он перенаправляется на страницу выхода, а затем возвращается к исходному экрану входа. Проблема в том, что когда они снова нажимают на ссылку для входа, пользователь снова автоматически входит в систему, не требуя повторной аутентификации. Это означает, что невозможно изменить пользователей, не закрыв браузер, и если пользователь оставляет окна браузера открытыми, любой может щелкнуть ссылку для входа и войти в систему как этот пользователь.
Мой код выхода выглядит следующим образом:
public void Logout()
{
var fc = FederatedAuthentication.FederationConfiguration.WsFederationConfiguration;
var signOutMessage = new SignOutRequestMessage(new Uri(fc.Issuer), fc.Realm);
FederatedAuthentication.WSFederationAuthenticationModule.SignOut(signOutMessage.WriteQueryString());
}
и signOutMessage.WriteQueryString()
генерирует следующее:
https://myacsnamespace.accesscontrol.windows.net/v2/wsfederation?wa=wsignout1.0&wreply=http%3a%2f%2flocalhost%3a44301%2f
Я что-то неправильно настроил в ACS или в моем коде чего-то не хватает. Я не могу понять, как остановить автоматическую повторную аутентификацию старого пользователя