本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为托管的通信小部件启用客户身份验证
本主题介绍在使用 Connect Customer 托管的通信控件进行聊天时如何设置身份验证。您可以为 Connect Customer 实例启用客户身份验证,然后启用一条身份验证消息,该消息会显示一个链接,该链接会打开 Amazon Cognito 托管用户界面的弹出窗口。
所需的 IAM 策略
如果您使用自定义 IAM 策略来管理对 Connect Customer 控制台的访问权限,请参阅自定义 IAM 策略所需的权限以获取访问客户身份验证页面所需的权限列表。
在您的 Connect 客户实例中启用客户身份验证
打开 Connect 客户控制台,网址为https://console.aws.amazon.com/connect/
。 在“实例”页面上,选择实例别名。实例别名也是您的实例名称,它显示在您的 Connect 客户 URL 中。下图显示了 Connect Customer 虚拟联络中心实例页面,实例别名周围有一个方框。
-
在左侧导航菜单上,选择应用程序、客户身份验证。如果您没有看到此选项,则该选项可能在您所在的 AWS 地区不可用。有关客户身份验证可用区域的信息,请参见按区域显示的客户身份验证可用性。
-
在客户身份验证页面上,选择在 Amazon Cognito 中创建用户池。这样可打开 Amazon Cognito 控制台。
-
使用您的身份提供商创建新的用户池。有关说明,请参阅《Amazon Cognito 开发人员指南》中的用户池入门。
注意
当您配置 Amazon Cognito 应用程序客户端时,必须选择不生成客户端密钥。只支持不带客户端密钥的 Amazon Cognito 应用程序客户端。有关更多信息,请参阅 A mazon Cognito 开发者指南中的应用程序客户端Application-specific 设置。
-
在创建 Amazon Cognito 用户池后,返回到客户身份验证页面,然后选择关联用户池。
-
在用户池部分,从下拉菜单中选择您创建的用户池,然后选择确认。
这会将用户池关联到您的 Connect 客户实例。它使验证客户身份流数据块能够访问用户池。
-
继续执行下一步:启用身份验证消息。
启用身份验证消息
要启用身份验证消息,请在代码片段末尾添加身份验证参数片段变量。有关添加片段变量的信息,请参阅Connect Customer 中支持的、可自定义的控件片段字段。以下代码是您需要添加的身份验证参数片段的示例。
amazon_connect('authenticationParameters', { redirectUri: 'your_redirect_url', // https://example.com identityProvider: 'your_identity_provider_name' //optional });
其中:
-
redirectUri是您在 IdP(身份提供商)和 Amazon Cognito 中配置的重定向 URI。这是您的客户登录后自动定向之处。在此页面中,您可以检查网址参数,如果有代码和状态,则可以使用这些值调用 UpdateParticipantAuthenticationAPI。API 调用完成后,关闭弹出窗口;客户将返回聊天体验。 -
identityProvider是您在 Amazon Cognito 中配置的身份提供商名称。该字段是可选的。如果提供了一个值,则登录链接会自动将客户定向到身份提供者的登录页面,而不是亚马逊 Cognito-managed 登录页面,在那里他们必须选择身份提供者进行登录。
当流到达验证客户身份数据块时,您可以注册回调并将状态存储在本地,以便在重定向 URI 中进行验证,如下面的示例代码片段中所示:
amazon_connect('registerCallback', { 'AUTHENTICATION_INITIATED' : (eventName, data) => { console.log(data.state) }, });
启用客户身份验证后,在流中添加一个验证客户身份数据块。此数据块可在流中对聊天联系进行身份验证,并根据身份验证结果将他们引导到特定路径。