Во-первых, я должен был установить IsSessionMode = верно уменьшить размер Cookieполагающейся стороной в сценарии веб-фермы (IsSessionMode = истина)
Мне нужно, чтобы сбалансировать экземпляры 2 RP я сделал следующие шаги по 2 разные машины с RP случаях:
1) подписался на ServiceConfigurationCreated событие
private void WSFederationAuthenticationModule_ServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e)
{
X509Certificate2 certificate = CertificateUtil.GetCertificate(StoreName.My, StoreLocation.LocalMachine, ConfigHelper.FrontendCertificate);
var sessionTransforms = new List<CookieTransform>(new CookieTransform[]
{
new DeflateCookieTransform(),
new RsaEncryptionCookieTransform(certificate),
new RsaSignatureCookieTransform(certificate)
});
SessionSecurityTokenHandler sessionHandler = new SessionSecurityTokenHandler(sessionTransforms.AsReadOnly());
e.ServiceConfiguration.SecurityTokenHandlers.AddOrReplace(sessionHandler);
}
2) Забирали сессию asp.net государственной службы
Проблема:
Когда я пытаюсь войти в STS я получаю бесконечное перенаправление с RP на STS
Я не могу понять, почему. Токен хранится в сеансе (IsSessionMode = true). Сессия разделяется между двумя разными хостами по государственной службе asp.net.
В чем проблема? Что я упустил?
Я думаю, что я не понимаю что-то важное.