2015-12-24 9 views
0

Я использую WIF. Я разработал STS, который хорошо работает. Сама STS выполняет логин (в основном, используя предварительно свернутый код, который поставляется с Microsoft MVC). До сих пор у нас есть две полагающиеся стороны, которые могут использовать зашифрованный файл cookie. Вот что: поскольку весь этот код находится в STS, я хочу, чтобы STS также выполнял другие функции, такие как регистрация новых пользователей, изменение паролей и т. Д. Все, что было до проката. Однако после входа в систему любой запрос на маршрут в STS (скажем, учетная запись/регистр или даже учетная запись/вход в систему) сбой «Ключ недействителен для использования в указанном состоянии». Я потратил немало времени, и у меня есть два рабочих RP для копирования, пытаясь настроить эту вещь, чтобы дешифровать файл cookie. Я заключаю, что это не настройка. Я думаю, возможно, STS будет отвечать только на запросы идентификации. Как ни странно, все это работает на IIS express (на моем ноутбуке), но дает вышеприведенную ошибку в IIS. Первой мыслью тогда является защита сертификатов. Однако, если это неверно сконфигурировано, вы даже не можете войти в систему, поэтому я знаю, что STS может получить доступ к сертификату. Извините, все немного расплывчато, но я надеюсь, что у кого-то есть хорошие идеи или знания домена. Большое спасибоWindows Identity Foundation STS: другие типы запросов?

ответ

0

вы можете гарантировать, WIF использует раздельные куки для ГНС и каждый тр, называя их по-разному в настройках для каждого сайта (т.е. stsauth, rp1auth, rp2auth) Вы можете настроить имена явно на объекте ChunkedCookiedHandler на каждом сайте во время запуска приложения.

var chunkedCookieHandler = new ChunkedCookieHandler { 
RequireSsl = false, 
Name = "stsauth", 
Domain = domain, 
PersistentSessionLifetime = new TimeSpan(0, 0, 30, 0)}; 

См here для полного кода, чтобы сделать это:

0

Стандарт STS касается только вывесок и вывесок. Однако, как многие узнают, есть много других потоков, которые касаются «пользовательской» вещи. Смена пароля, потерянный пароль, изменение электронной почты (на самом деле изменение любой претензии), обновление пароля, попытка входа в систему, регистрация, регистрация в Facebook, ... Нет стандартного способа борьбы с ними. Мы решили это, расширив «действия», которые могут быть отправлены на наш STS. Вместо signin1.0 и signout 1.0 мы разрешаем полный набор из 20 действий, которые будут напрямую задействованы нашими RP.
Ваш STS должен иметь свои собственные файлы cookie. Он никогда не должен делиться файлом cookie с одной из полагающихся сторон. Таким образом, у вас обычно не может быть проблемы с расшифровкой или шифрованием ключей.

+0

Спасибо, Вилли! Я рассматривал cookie как находящийся на сеансе, а не в данном приложении. Как у STS есть свои куки? Я перенаправляюсь к STS и до того, как какой-либо из его кодов получает контроль, он выдает неверную ошибку ключа. Не знаете, как спросить или сказать, чтобы использовать какой-то другой файл cookie, чем сеанс WIF. Благодаря- – rdgWarren

 Смежные вопросы

  • Нет связанных вопросов^_^