在Twilio Flex中添加客户端认证的方法指南

281 阅读5分钟

呼叫中心的安全是许多公司的一个众所周知的弱点。这是因为大多数呼叫中心在用户呼叫时 识别而不实际认证

身份信息通常是静态数据,如电话号码或出生日期,这些都是很多人知道的关于我和你的事情。身份信息通常很容易找到或购买,而且可能不会改变。只要稍加搜索,黑客就能利用社会工程绕过基于对用户身份的了解而进行的普通 "验证"。认证是用一个因素来证明身份的方式,这个因素可以是你知道的东西,如密码,你拥有的东西,如钥匙,或你拥有的东西,如指纹。

实际验证用户与服务台系统沟通的选项包括通过短信或电子邮件向用户发送一次性密码(OTP)、回拨电话、安全密码、口头密码、语音识别等。更多想法,请查看这篇关于联络中心安全最佳做法的博文

在这篇文章中,你会发现如何添加一个Twilio Flex插件,可以发送短信OTP来验证用户与Twilio验证API

Gif que muestra cómo funciona el plugin para autenticar a las personas que llaman

配置

要与这个版本一起编码,你将需要:

  1. 一个Twilio账户。如果你用这个链接升级,可以获得10美元的积分。
  2. 一个柔性项目。在控制台创建一个新的Flex项目
  3. 一个验证服务。在控制台中创建一个新的验证服务。
  4. Twilio CLI。安装操作系统的CLI,用你的Flex账户凭证登录,使用.NET技术。
  5. Twilio的无服务器插件。从命令行中使用.更多的细节,请看文件
  6. Twilio的Flex插件。从命令行中使用.更多细节,见GitHub

开发Flex React插件的前提条件

Flex及其插件使用React,所以你需要一些JavaScript的依赖:

  • 安装了NPM 5.0.0或更高版本(在终端键入以检查)
  • 安装了10.19.0或更高版本的节点(在终端键入以检查)。我建议用它来管理Node版本

快速入门部分了解更多关于Flex插件开发的信息:

GitHub克隆(或下载)该插件:

git clone https://github.com/twilio-labs/plugin-verify.git && cd plugin-verify

用来安装所有项目的依赖性:

npm install

实现无服务器验证功能

这个插件使用两个Verify API端点:一个用于启动验证,一个用于检查验证。我们将这些API调用包装在无服务器函数中,这些函数位于无服务器文件夹中。你可以在无服务器电话验证博文部分了解更多关于这些功能的信息。

将无服务器配置样本文件.env.serverless.example 复制到.env

cp serverless/.env.serverless.example serverless/.env

打开新文件.env ,填写变量:

# Find in: twilio.com/console
ACCOUNT_SID=
AUTH_TOKEN=

# Create in: twilio.com/console/verify/services
VERIFY_SERVICE_SID=

用TwilioCLI和Twilio无服务器工具包实现这些功能。注意:你必须在serverless目录才能执行这个命令:

twilio serverless:deploy

Captura de pantalla de las URL de las funciones implementadas

保存显示的函数的URL,并附上上面显示的实施细节。你也可以在控制台中找到这些功能

.env.example 拷贝到项目的根部,地址是.env

# in the project root
cp .env.example .env

更新REACT_APP_SERVICE_BASE_URL ,使其成为新的函数网址:

REACT_APP_SERVICE_BASE_URL="http://verify-plugin-1234-dev.twil.io"

URL将略有不同。

在本地启动该插件

从项目的根部,在本地启动该插件:

twilio flex:plugins:start

这将打开一个新的浏览器窗口。单击 "用Twilio登录",以认证为代理人。一旦你被重定向到Flex应用程序,确保你的代理被配置为Available

Captura de pantalla que muestra cómo iniciar sesión con Twilio cuando inicia Flex

接下来,打电话或发信息给Flex号码,测试该插件(你可以在控制台托管的Flex实例的测试单元面板找到Flex号码)。一旦你接受任务,就用红色按钮激活检查。

Enviar token de verificación al botón de usuario

这将调用我们之前实现的start-verify 功能,向客户的电话号码发送一个一次性密码(OTP)。该插件将访问代码发送到客户打电话或发短信的电话号码,这有助于验证打电话的人不是在欺骗电话号码。你也可以用其他用户信息进行CRM查询,或者你甚至可以通过电子邮件发送OTP

然后代理人可以输入客户提供的OTP。当客户被核实时,会发生两件事:

  1. Flex显示一个横幅,上面写着客户已被核实。
  2. Flex在 "INFO "标签中显示数据。

后者是一个例子,说明在成功认证之前,如何限制代理可获得的呼叫者信息。这可以通过为代理创建护栏来帮助限制社会工程攻击。

部署Flex插件

我们可以通过CLI部署这个插件。请注意,这并不是部署无服务器功能,这是在上面描述的单独步骤中完成的:

twilio flex:plugins:deploy

你应该看到一个说明,🚀 Tu plugin ha sido desplegado con éxito en tu proyecto Flex ,你可以通过启动托管的Flex实例进行测试。关于部署Flex插件的更多细节可以在文档中找到。

接下来的步骤

这是人工验证的一个很好的选择,但在呼叫中心认证方面还有其他选择。你也可以做以下工作:

  • 为有身份验证的网络会话的用户建立一个密码系统
  • 在代理和用户连接之前发送并验证OTP。
  • 用注册的电话号码给用户回电。