У меня есть обычное промежуточное программное обеспечение для аутентификации, работающее для единого входа. Мне интересно, как мне следует реализовать одно решение для выхода из системы.Owin Authentication Single Sign-Out
Мне нужно позвонить Authentication.Signout()
, чтобы вывести сообщение из моего приложения, но затем мне нужно перенаправить пользователя на конечную точку выхода нашей пользовательской STS. Где я должен справиться с этим? Invoke
? ApplyResponseGrant
? Не в обработчике вообще, а просто в ручном перенаправлении?
Редактировать: Это приложение MVC. У меня есть все, что работает. ИСКЛЮЧЕНИЕ связывает локальный выход из системы STS. Добавление моего существующего кода здесь не приведет к запутыванию моего вопроса, IMO. Если есть конкретный фрагмент кода, который поможет, сообщите мне, и я добавлю его.
В идеале, мне бы хотелось, чтобы какое-то событие или флаг указывали на то, что пользователь выйдет из системы, а затем измените ответ на 302 на внешний выход. Если я поместил этот код в ApplyResponseGrant
, у меня возникло ощущение, что это предотвратит очистку промежуточного программного обеспечения CookieAuthentication файла cookie auth. Если я поместил этот код в действие контроллера Logout (после вызова Authentication.SignOut()
), я оставляю его для каждого приложения для обработки одного знака.
Это MVC или приложение WebApi? –
Посмотрите на это [сообщение в блоге о 'OWIN Authentication'.] (Http://weblog.west-wind.com/posts/2015/Apr/29/Adding-minimal-OWIN-Identity-Authentication-to-an -Existing-ASPNET-MVC-приложения). Он охватывает MVC, но большинство концепций вы должны соблюдать, даже если вы создаете приложение WebApi. –
Кроме того, при размещении вопросов на SO вы должны предоставить как минимум код, чтобы понять, как вы это сделали. Код всегда более краткий, чем слова :) –