В настоящее время у меня есть приложение Windows WPF, которое получает токен SWT из следующего процесса:
- Получить провайдеров по телефону:
$"{Namespace}/v2/metadata/IdentityProviders.js?protocol=javascriptnotify&realm={HttpUtility.UrlEncode(realm)}&version=1.0"
- Вызов данного LoginUrl в невидимый веб-браузер
- Пользователю предлагается ввести имя пользователя и пароль AD.
- Используйте ObjectForScripting, чтобы поймать действие уведомления и получить токен
- Отправьте токен на веб-сервер, где он будет проверен, и правильный вход пользователя в приложение завершится утверждениями.
Теперь проблема в том, что когда я пытаюсь снова войти в систему, он будет повторно использовать предыдущие учетные данные вместо повторного запроса имени пользователя и пароля.
Что я пробовал и не работает:
- Перейдите к URL-адресу выхода, указанному одновременно с входом в систему. Это похоже на
https://{AD_URL}/adfs/ls/?wa=wsignout1.0
- Попробуйте вызвать выход непосредственно из пространства имен Azure ACS, но выдает страницу с ошибкой.
{пространство имен}/v2/wsfederation?wa=wsignoutcleanup1.0&wtrealm={HttpUtility.UrlEncode(область)}
- Удалите элемент управления веб-браузером и создайте новый.
Ничего из вышеперечисленного не сработало, и он всегда повторно использует учетные данные.