将第三方 SAML 身份提供商与 Amazon Cognito 用户池集成
要配置第三方 SAML 2.0 身份提供者(IdP)解决方案以使用 Amazon Cognito 用户群体的联合身份验证,您必须配置 SAML IdP 以重定向到以下 URL:https://
。如果您的用户群体具有 Amazon Cognito 域,则可以在 Amazon Cognito 控制台中您的用户群体的 App integrationYour user pool
domain
/saml2/idpresponse
在 2017 年 8 月 10 日前的公开测试期间,您在用户池中创建的任何 SAML IdP 都具有重定向 URL https://
。如果您的用户池中的公开测试版中具有这些 SAML 身份提供商之一,则必须执行以下操作之一:<yourDomainPrefix>
.auth.<region>
.amazoncognito.com/login/redirect
-
将其替换为使用新的重定向 URL 的新身份提供商。
-
更新您的 SAML IdP 中的配置,以接受旧的和新的重定向 URL。
Amazon Cognito 中的所有 SAML IdP 都将切换到新的 URL。旧 URL 将于 2017 年 10 月 31 日停止使用。
对于一些 SAML IdP,您必须以 urn:amazon:cognito:sp:
格式提供 <yourUserPoolID>
urn
/受众 URI/SP 实体 ID。您可以在 Amazon Cognito 控制台的 General settings(常规设置)选项卡上找到用户池 ID。
您还必须配置 SAML IdP,为您用户池中需要的任意属性提供属性值。通常,email
是用户池的必需属性,这种情况下 SAML IdP 必须在 SAML 断言中提供 email
值(声明)。
Amazon Cognito 不接受您的 IdP 作为属性值传递的 4 字节 UTF-8 字符(例如 😐 或𠮷)。您可以对字符进行 Base64 编码以将其作为文本传递,然后在应用程序中对其进行解码。
在以下示例中,将不接受属性声明:
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">😐</saml2:AttributeValue> </saml2:Attribute>
与上述示例不同,将接受以下属性声明:
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">8J+YkA==</saml2:AttributeValue> </saml2:Attribute>
以下链接将帮助您配置第三方 SAML 2.0 IdP 解决方案以使用 Amazon Cognito 用户池的联合身份验证。
Amazon Cognito 包含 IdP 支持,因此您只需访问以下提供商站点即可获取 SAML 元数据文档。您可以在提供商网站上查看有关与 Amazon 集成的详细说明,但您不需要这些说明。
解决方案 | 更多信息 |
---|---|
Microsoft Active Directory 联合身份验证服务 (AD FS) | 您可以从以下地址下载 ADFS 联合身份验证服务器的 SAML 元数据文档:https:// 。 |
Okta | 在 Okta 中将 Amazon Cognito 用户池配置为应用程序后,您可以在 Okta 控制面板的 Admin(管理员)部分中找到元数据文档。选择应用程序,选择 Sign On(登录)部分,然后查看 Settings for SAML(SAML 设置)下方的内容。该 URL 应类似于 https:// 。 |
Auth0 | 从 Auth0 控制面板获取元数据下载文档。选择 Clients(客户端),然后选择 Settings(设置)。向下滚动,选择 Show Advanced Settings(显示高级设置),然后查找您的 SAML Metadata URL(SAML 元数据 URL)。它应该类似于 https:// 。 |
Ping Identity | 对于 PingFederate,您可以在通过文件提供一般 SAML 元数据 |