Я использую WIF для аутентификации нашего нового веб-сайта, STS основана на реализации стартеров.WIF-ID1014: Подпись недействительна. Возможно, данные были изменены с помощью
Чтобы это правильно работало в среде с балансировкой нагрузки, я использовал следующее в global.asax, чтобы переопределить поведение сертификата по умолчанию.
void onServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e)
{
List<CookieTransform> sessionTransforms = new List<CookieTransform>(new CookieTransform[]
{
new DeflateCookieTransform(),
new RsaEncryptionCookieTransform(e.ServiceConfiguration.ServiceCertificate),
new RsaSignatureCookieTransform(e.ServiceConfiguration.ServiceCertificate)
});
SessionSecurityTokenHandler sessionHandler = new SessionSecurityTokenHandler(sessionTransforms.AsReadOnly());
e.ServiceConfiguration.SecurityTokenHandlers.AddOrReplace(sessionHandler);
}
Это все работает просто найти, и люди успешно используют систему, однако каждый сейчас, и тогда мы получим взрыв:
ID1014: подпись не действительна. Возможно, данные были подделаны.
в журналах событий, поэтому я включил трассировку WIF и увидел следующее в журнале.
ID1074: Криптографическое исключение произошло при попытке шифрования файла cookie с использованием API защищенных данных (см. Внутреннее исключение для подробностей). Если вы используете IIS 7.5, это может быть связано с тем, что для параметра loadUserProfile в пуле приложений установлено значение false.
У меня такое чувство, что это ведет меня по темному переулку, как я думал, потому что я изменил реализацию, чтобы использовать RSA, это не должно меня трогать.
Любые идеи, которые могут мне помочь?
Спасибо за ответ, в два раза проверено все, что и он отлично работает, может видеть, что точки останова находятся в ловушке, а также выводится трассировка. У меня есть FederatedAuthentication.ServiceConfigurationCreated + = onServiceConfigurationCreated; В старте приложения. – RubbleFord