有关解决此问题的任何帮助/建议,或建立备用SAML IDP提供程序以进行测试的建议将非常感谢。
背景:
对于我们的多租户应用,我们一直在使用PingFederate来提供SSO。我们正在使用AWS Cognito替换它。
我已经完成了基本的代码更改,以便我们的应用程序将调用awscognito,进行身份验证并将令牌返回给应用程序。最后一步是设置AWS用户池以处理SAML IDP。
过去,当我需要测试PingFederate时,我将PingFederate测试服务器设置为同时充当IDP和SP。这样我可以在我们的应用程序中启动IDP请求,PingFederate的IDP服务部分将回答IDP请求,然后调用SP处理,最终将返回到我们的应用程序。
我想使用类似的设置来测试AWS Cognito,但我很难让PingFederate与AWS Cognito集成。当我尝试在AWS Cognito中创建提供程序时,我收到以下错误消息:
我们无法创建身份提供者:在元数据中找不到SingleSignOn Http重定向绑定位置。 (服务:AWSCognitoIdentityProviderService;状态代码:400;错误代码:InvalidParameterException;请求ID: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>
答案 0 :(得分:0)
仅供参考,我通过使用PingFederate中的手动导出选项来解决这个问题。问题中包含的文件是从PF自动生成的。相反,我使用了选择应该导出的选项。该导出文件已成功加载。