Я использую Windows Identity Foundation для управления входом на наш сайт.
Когда пользователь входит в систему, я использую некоторую информацию в своем запросе для включения в претензии.
Все работает нормально, но теперь мне нужно управлять этим сценарием:
- пользователь уже вошел в систему, прошел проверку подлинности и имеет действительный токен.
- Но пользователь решает снова зайти (через редирект с другого сайта)
- Так что его информация в его запросе отличается.
- Я хочу либо
- Выйти из него - чтобы он естественно создал новый токен со своей новой информацией
- ИЛИ обновите свой существующий токен.
Итак, мой вопрос:
- Как выйти из Windows Identity Foundation?
- Или Как мне обновить существующие претензии?
Я пробовал этот код:
public void ExpireClaims(HttpContextBase httpContextBase)
{
var module =
httpContextBase.ApplicationInstance.Modules["WSFederationAuthenticationModule"] as
WSFederationAuthenticationModule;
if (module == null)
{
return;
}
module.SignOut(true);
}
Но модуль всегда нулевой.
и я попробовал это:
public void FederatedSignOut(string replyUrl)
{
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl));
}
Но я получаю нулевое справочное исключение, когда я делаю это.
Большое спасибо.