示例场景:在企业控制面板中为 Amazon Cognito 应用程序添加书签 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例场景:在企业控制面板中为 Amazon Cognito 应用程序添加书签

您可以在 SAML 或 OIDC IdP 控制面板中创建书签,这些控制面板为 Amazon Cognito 用户池提供 SSO 访问网络应用程序的权限。您可以通过不要求用户使用托管 UI 登录的方式链接到 Amazon Cognito。为此,请在您的门户中添加一个登录书签,该书签按以下格式重定向到您的 Amazon Cognito 用户池。对端点授权

https://mydomain.us-east-1.amazoncognito.com/authorize?response_type=code&identity_provider=MySAMLIdP&client_id=1example23456789&redirect_uri=https://www.example.com

注意

您还可以在授权终端节点请求中使用 idp_identifier 参数而不是 identity_provider 参数。IdP 标识符是您在用户池中创建身份提供商时可以配置的备用名称或电子邮件域。请参阅 SAML 身份提供商名称和标识符

当您在对 /authorize 的请求中使用适当的参数时,Amazon Cognito 会静默开始 SP 启动的登录流程并将您的用户重定向到使用您的 IdP 登录。

首先,请在您的用户池中添加一个 SAML IdP。创建一个使用您的 SAML IdP 进行登录的应用程序客户端,并将您的应用程序的 URL 作为授权回调 URL。有关应用程序客户端的更多信息,请参阅用户池应用程序客户端

在将这种经过身份验证的访问权限部署到您的门户之前,请测试 SP 发起的从托管用户界面登录您的应用程序。有关如何在 Amazon Cognito 中配置 SAML IdP 的更多信息,请参阅配置您的第三方 SAML 身份提供商

下图显示了模拟 IdP 启动的 SSO 的身份验证流程。您的用户可以通过公司门户网站中的链接向 Amazon Cognito 进行身份验证。


                        从企业应用程序控制面板开始的 Amazon Cognito SAML 登录。

满足要求后,为你的创建一个书签对端点授权,其中包含identity_provideridp_identifier参数。用户身份验证按以下步骤进行。

  1. 您的用户登录 SSO IdP 控制面板。用户有权访问的企业应用程序将填充此控制面板。

  2. 您的用户选择指向应用程序的链接,该应用程序向 Amazon Cognito 进行身份验证。在许多 SSO 门户中,您都可以添加自定义应用程序链接。可用于创建指向 SSO 门户中公共 URL 的链接的任何特征都可以使用。

  3. SSO 门户中的自定义应用程序链接将用户定向到用户池 对端点授权。该链接包括 response_typeclient_idredirect_uriidentity_provider 的参数。identity_provider 参数是您在用户池中提供 IdP 的名称。您还可以使用 idp_identifier 参数而不是 identity_provider 参数。用户通过包含idp_identifieridentity_provider参数的链接访问您的联合终端节点。此用户绕过登录页面并直接导航以使用您的 IdP 进行身份验证。有关命名 SAML 的更多信息 IdPs,请参阅SAML 身份提供商名称和标识符

    网址示例

    https://mydomain.us-east-1.amazoncognito.com/authorize? response_type=code& identity_provider=MySAMLIdP& client_id=1example23456789& redirect_uri=https://www.example.com
  4. Amazon Cognito 使用 SAML 请求将用户会话重定向到您的 IdP。

  5. 您的用户在登录控制面板时可能已收到 IdP 的会话 Cookie。您的 IdP 使用此 Cookie 以静默方式验证用户并使用 SAML 响应将其重定向到 Amazon Cognito idpresponse 终端节点。如果不存在活动的会话,则 IdP 在发布 SAML 响应之前将对用户重新进行身份验证。

  6. Amazon Cognito 会验证 SAML 响应,并根据 SAML 断言创建或更新用户配置文件。

  7. Amazon Cognito 使用授权码将用户重定向到您的内部应用程序。您将内部应用程序 URL 配置为应用程序客户端的授权重定向 URL。

  8. 您的应用程序用授权码交换 Amazon Cognito 令牌。有关更多信息,请参阅令牌端点