Пользовательская ошибка STS и Azure ACS ACS50008: неверный токен SAML - PullRequest
4 голосов
/ 13 февраля 2012

У меня есть собственная реализация STS.В настоящее время он настроен как дополнительный поставщик удостоверений в Azure ACS.У меня есть веб-сайт проверяющей стороны, который успешно проходит проверку подлинности через ACS (Windows Live, Google и т. Д.).Однако всякий раз, когда я пытаюсь войти в систему, используя свой собственный STS, я всегда получаю сообщение об ошибке 401.

  • Код ошибки ACS20001: ошибка при обработке ответа на вход WS-Federation.
  • Код ошибки ACS50008: токен SAML недействителен.

Я искал по форумам, но в моем случае я не получаю более подробную информацию об ошибкеи не знаю, как поступить и исправить это.

Мой STS в настоящее время находится на бета-версии и доступен здесь: метаданные .

Если у кого-либо есть предложения или желание попробовать, пожалуйста, свяжитесь со мной по электронной почте, и я открою демонстрационный логин для моего пользовательского провайдера.

примечание: Дело отличается от найденного аналогичного вопроса здесь , поскольку в моих внутренних деталях исключения не указаны никакие причины.

ОБНОВЛЕНИЕ: проверьте обсуждение в этом thread для получения дополнительной информации и полезных нагрузок, которые я извлек из фиддлера.

Заранее спасибо,

Constantinos

Ответы [ 2 ]

3 голосов
/ 17 февраля 2012

Я наконец-то понял это с помощью поддержки ms в Azure.

Кажется, что ошибка "ACS50008: SAML токен недопустим" является довольно общей, и обычно во внутренней исключительной ситуации есть больше информации, котораяне заканчивается на экране ошибки.Почему это происходит до сих пор для меня загадка.

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

  1. Причина: время клиента не соответствует времени ACS, а именно NotBefore ниже - время в будущем, когда оно просматривается ACS. Действие: <saml:Conditions NotBefore="...." NotOnOrAfter="...."> В этом случае вы можете попытаться установить время жизни (сейчас - время буфера, например, 5 минут) до + 1 часа.
  2. Причина: скрытое внутреннее исключение, которое можно увидеть только с помощью поддержки ms с использованием trackingId вашей ошибки.

Microsoft.Cloud.AccessControl.Common.Diagnostics.SignInException: ACS20001: Произошла ошибка при обработке ответа на вход WS-Federation. Microsoftsoft.Cloud.AccessControl.Common.Diagnostics.ServiceException: ACS50008: токен SAML недействителен. Microsoft.IdentityModel.SecurityTokenService.IssuerNameNotSupportedException: принципал с именем 'https://login.mydomain.com/' не является известным принципалом.

В моем случае имя участника не должносодержать косую черту в конце.Мы изменили его с https://login.mydomain.com/ на https://login.mydomain.com и ошибка исчезла!

1 голос
/ 13 февраля 2012

Вы всегда можете создать службу поддержки в Microsoft, и они помогут разобраться: https://support.microsoft.com/oas/default.aspx?&c1=501&gprid=14928&&st=1&wfxredirect=1&sd=gn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...