ADFS 2.0 Microsoft.IdentityServer.Web.InvalidRequestException: MSIS7042

У меня есть собственный сайт MVC, который использует аутентификацию ADFS для доступа пользователей к сайту.

Это сработало, с тех пор я не вносил никаких изменений, единственное изменение произошло на стороне ADFS с переносом сертификатов TOKEN. К сожалению, я не могу найти ничего, что указывало бы на то, что это связано с моей теперь очень разочаровывающей ошибкой.

Проще говоря, ни один пользователь не может войти в систему, слава богу, он все еще находится в разработке, так что, по крайней мере, у меня в руках нет кричащих пользователей. У меня есть IFD среды Dynamics CRM 2011 и проверка подлинности на основе утверждений, использующая тот же сервер ADFS. Я также удалил и воссоздал трасты проверяющей стороны, но все равно безуспешно.

Все, что я получаю, это следующая ошибка на странице с соответствующей записью журнала событий:

Сайт:

Возникла проблема с доступом к сайту. Попробуйте снова перейти на сайт.

Журнал событий:

Обнаружена ошибка во время пассивного запроса федерации.

Дополнительная информация

Сведения об исключении: Microsoft.IdentityServer.Web.InvalidRequestException: MSIS7042: тот же сеанс клиентского браузера сделал 6 запросов за последние 6 секунд. За подробностями обращайтесь к своему администратору. в Microsoft.IdentityServer.Web.FederationPassiveAuthentication.UpdateLoopDetectionCookie () в Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SendSignInResponse (ответ MSISSignInResponse)

Я искал все выше и ниже, я пробовал все предложения, которые мог найти, включая этот пост: Ошибка ADFS v2.0: MSIS7042: тот же сеанс браузера клиента сделал 6 запросов за последние 1 секунду

Я настроил свои трасты проверяющей стороны по следующему URL-адресу: http://www.cloudidentity.com/blog/2014/02/12/use-the-on-premises-organizational-authentication-option-adfs-with-asp-net-in-visual-studio-2013

Я забыл отключить пользовательские ошибки, поэтому теперь получаю следующее:

WIF10201: не найдено действительного сопоставления ключей для securityToken: 'System.IdentityModel.Tokens.X509SecurityToken' и эмитента: 'http://XXX.XXX.XXX/adfs/services/trust '.

Таким образом, я исправил отпечаток сертификата, но, к сожалению, это не помогает ситуации.

Все еще ищем и пробуем решения для этой проблемы, и буду обновлять, если что-то изменится.

Любая помощь в этом отношении будет принята с благодарностью.

Спасибо


person Community    schedule 16.05.2014    source источник


Ответы (3)


Починил это !! :) :)

Похоже, возникла проблема с записью «IssueNameRegistry» в моем Web.Config.

Что меня смущает, почему это работало раньше, но тем не менее вот что устранило проблему:

В моем файле web.config, который работал раньше, было следующее:

  <issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
    <authority name="http://adfs.domain.tld/adfs/services/trust">
      <keys>
        <add thumbprint="thumbprint"/>
      </keys>
      <validIssuers>
        <add name="http://adfs.domain.tld/adfs/services/trust"/>
      </validIssuers>
    </authority>
  </issuerNameRegistry>

Благодаря этому ответу https://stackoverflow.com/a/21289207/2985339 в этом сообщении Периодическая ошибка идентификации Windows Azure при разборе webconfig

Вот что теперь есть в web.config:

  <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <trustedIssuers>
      <add thumbprint="thumbprint" name="http://adfs.domain.tld/adfs/services/trust" />
    </trustedIssuers>
  </issuerNameRegistry>

Бьет меня по поводу того, почему он перестал работать, но если у кого-то еще есть эта проблема, надеюсь, это поможет. :)

person Community    schedule 20.05.2014
comment
Большое спасибо! Возникла та же проблема, ваше решение сработало. Есть идеи, почему уже? - person Michael; 27.06.2014
comment
Нет проблем, Мичил, рад слышать, что это помогло :) Понятия не имею, он все еще работает, так что, надеюсь, так и останется :) - person ; 29.06.2014

Для ошибки 7402 убедитесь, что идентификатор в вашем web.config и конечная точка в RP имеют завершающую косую черту и что они оба совпадают.

Для недействительного ключа используйте плагин MMC на стороне сервера, чтобы получить отпечаток, а затем разместите его во что-то вроде Notepad ++ и проверьте его - убедитесь, что нет изворотливых символов и т. Д., Затем удалите пробелы и затем вставьте его в web.config .

Я видел это несколько раз.

person rbrayb    schedule 18.05.2014
comment
Спасибо за предложения, но я уже сделал оба из них, поэтому не знаю, где искать дальше, ошибка сохраняется, как и мое разочарование. - person ; 19.05.2014
comment
Исправил для меня. Завершающая косая черта отсутствовала как для идентификатора, так и для конечной точки. - person Mark H; 17.02.2016

Извините за некроз в старой ветке, но тем, кто проголосовал за правильный ответ - вы добавляли какие-либо новые ссылки на свой проект? Импортировать что-нибудь и т. Д.?

Очевидно, что ValidatingIssuerNameRegistry не является ConfigurationBasedIssuerNameRegistry, поэтому мне было интересно, какие шаги были предприняты для добавления / удаления любых сборок / версий и т. Д.

person notsoobvious    schedule 19.02.2015
comment
К сожалению, я не могу вспомнить, приходилось ли мне добавлять какие-либо ссылки или обновлять какие-либо, но я не думаю, что мне приходилось ... как уже было сказано, вот ссылки и версия, которые я использую для ключевых библиотек: AntiXssLibrary.dll - - 4.0.0.0 Microsoft.AspNet.FriendlyUrls.dll - 1.0.20730.0 Microsoft.AspNet.Identity.Core.dll - 1.0.20911.0 Microsoft.AspNet.Identity.EntityFramework.dll - 1.0.20911.0 Microsoft.AspNet.Web. Optimization.WebForms.dll - 5.0.0.0 Syystem.IdentityModel.Tokens.ValidatingIssuerNameRegistry.dll - 2.0.1664.0 Обратите внимание, это приложение .net 4.5. - person ; 19.02.2015