Будем весьма благодарны за любую помощь / предложения по устранению неполадок, указанных ниже, или за предложения по настройке альтернативного поставщика SAML IDP для тестирования.
Справочная информация:
Для нашего мультитенантного приложения мы использовали PingFederate для обеспечения единого входа.Мы находимся в процессе замены этого на AWS Cognito.
Я получил базовые изменения кода, чтобы наше приложение вызывало awscognito, аутентифицировалось и возвращало токены в приложение.Последний шаг - настройка пула пользователей AWS для обработки IDL SAML.
В прошлом, когда мне нужно было тестировать PingFederate, у меня был тестовый сервер PingFederate, настроенный для работы в качестве IDP и SP.Таким образом, я мог бы инициировать запрос IDP в нашем приложении. Сервисная часть IDP PingFederate ответит на запрос IDP, а затем вызовет обработку SP, которая в конечном итоге вернется к нашему приложению.
Я хотел бы использовать аналогичную настройку для тестирования AWS Cognito, но я застрял, когда PingFederate интегрируется с AWS Cognito.Когда я пытаюсь создать провайдера в AWS Cognito, я получаю следующее сообщение об ошибке:
Нам не удалось создать провайдера идентификации: в метаданных не найдено местоположение привязки перенаправления SingleSignOn Http.(Сервис: AWSCognitoIdentityProviderService; Код состояния: 400; Код ошибки: InvalidParameterException; Идентификатор запроса: 8f48b246-6513-11e8-a8a0-8177ff216d8a)
Вот как выглядит загруженный файл экспорта:
<md:EntityDescriptor entityID="OTIDPQA" cacheDuration="PT1440M"
ID="WRHOcPiQSytSdX73eJiSqU7NYk7"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<md:IDPSSODescriptor
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate> encrypted certificate data
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-
format:unspecified</md:NameIDFormat>
<md:SingleSignOnService Location="https://xxxxx-userpool-test.auth.us-east-2.amazoncognito.com/saml2/idpresponse"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="MiddleName"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="Email"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="generic1"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="subject"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="userId"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="restricted"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="FirstName"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="Role"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="UserName"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-
format:basic" Name="LastName"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"/>
</md:IDPSSODescriptor>
<md:ContactPerson contactType="administrative">
<md:Company>company data </md:Company>
<md:GivenName>first name data</md:GivenName>
<md:SurName>last name data</md:SurName>
<md:EmailAddress>email data</md:EmailAddress>
<md:TelephoneNumber>phone data</md:TelephoneNumber>
</md:ContactPerson>
</md:EntityDescriptor>