AWS SSO - «Формат запроса nameID не соответствует нашей записи»
Я пытаюсь настроить тестовое приложение, работающее со службой единого входа AWS. Когда я нажимаю URL-адрес для входа в систему единого входа и ввожу свои учетные данные, он отлично входит в систему, но затем Amazon отображает ошибку:
Requeest nameID format does not match our record
Мой запрос содержит:
<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" AllowCreate="true" />
а XML-файл метаданных IdP, который Amazon предлагает для моего приложения, имеет пустой тег. Полагаю, это как-то связано с этим. Однако я не вижу нигде в пользовательском интерфейсе Amazon, где можно было бы указать.
Мои вопросы:
- Как / где я могу указать
nameIDFormat
что мое приложение AWS SSO принимает? Предполагается, что пустой<md:NameIDFormat/>
это (часть) проблемы. Возможно, это не имеет отношения к проблеме, и в этом случае: - Что означает приведенное выше сообщение об ошибке?
2 ответа
Вы можете изменить формат NameID на странице AWS SSO «Applications»:
- Перейдите в AWS SSO->Applications->My App Name.
- Набор
${user:subject}
в качестве значения атрибута (второй столбец) и выберите необходимый формат NameID в третьем столбце.
Как только это будет сделано, вы можете отправить соответствующий формат NameID с помощью тега NameIDPolicy:
<saml2p:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
Кстати: с помощью тега NameIDPolicy SP запрашивает от IdP соответствующий формат NameID (электронная почта, временный, постоянный и т. Д.). Ваш AWS IdP не имеет запрошенного сопоставления и не знает, что должно возвращаться по умолчанию или что разрешено, и выдает ошибку, которую вы видите.
У меня была такая же проблема, я поговорил с техподдержкой Twilio, и они поставили меня на плагин, который позволяет отслеживать материал SAML -> https://chrome.google.com/webstore/detail/saml-tracer/mpdajninpobndbfcldcmbpnnbhibjmch
Как только я исправил свои проблемы, nameid-format: unspecified to emailAddress сработал!