По техническим причинам мы реализовали в нашем приложении два разных веб-сайта STS. Эти STS выдают токены, основанные на разных сертификатах.
У нас есть основное приложение и подмножество приложений, и каждое из них настроено на использование и доверие к одному из этих веб-сайтов STS.
Оба приложения используют имя типа утверждения для установки имени пользователя при входе в систему, которое затем отображается в пользовательском интерфейсе приложений проверяющей стороны.
Моя проблема в том, что если я вхожу в один STS, все в порядке. Когда я вхожу в другое приложение / STS, имя, отображаемое в пользовательском интерфейсе при первом входе, заменяется именем второго входа.
Я могу только предположить, что, поскольку STS используют совершенно разные сертификаты для подписи токенов, они будут игнорироваться проверяющими сторонами, если они не настроены на доверие в файле web.config. Вот как я это настроил.
По отладке вроде все нормально работает. При создании токена используется правильный STS и правильный сертификат.
Я вижу, что существующий файл cookie FedAuth увеличивается, когда я вхожу во второе приложение, поэтому заявки для обоих сеансов добавляются в один и тот же файл cookie.
Я был бы признателен, если бы кто-нибудь мог предложить несколько предложений о том, как сделать токены, выпущенные STS, полностью независимыми друг от друга.
Большое спасибо, Джон