验证后检查状态 - Twilio 验证

问题描述

我有一个使用 Twilio 验证进行电子邮件验证的具有以下 3 步流程的网络应用:

  1. 使用验证创建验证码
  2. 使用验证检查验证码
  3. 在我的 web api 中创建用户帐户

在成功进行 Twilio Verify 验证码检查(第 2 步)之后,我需要能够再次调用 Twilio Verfy 以确保电子邮件用户帐户实际上是在我的 web api 中创建的(第 3 步)。但是由于在成功的电子邮件验证后删除了 SID,我收到了 GET 请求的以下答复: https://verify.twilio.com/v2/Services/{ServiceSid}/Verifications/{Sid}

{
  "code": 20404,"message": "The requested resource /Services/VAxxx/Verifications/VExxx was not found","more_info": "https://www.twilio.com/docs/errors/20404","status": 404
}

现在,对于前端来说,这很简单:只有在电子邮件被成功验证后,我才会进入最终的帐户创建步骤。 但是,对于真正的无状态后端,在接受前端请求后,我首先需要与 Twilio 仔细检查电子邮件是否确实已经过验证。

真正的无状态,因为如果电子邮件已经过验证,我不想将其存储在数据库中。 (这已经由 Twilio 完成了)

我该怎么做?我在 Twilio 文档中没有找到正确的 API。

解决方法

这里是 Twilio 开发者布道者。

我了解您希望获取出现在日志中的可用信息,但无法通过 API 获取。一旦验证成功(或 10 分钟后超时,或达到最大错误尝试次数)it is deleted,您将无法再通过 API 访问它。我认为这是为了防止重播攻击,但我不在那个团队中,所以不知道背后的所有原因。

这样做的结果是,您不能从代码中多次调用验证检查。

您必须将状态存储在您自己的系统中,因为 API 不会为您存储该状态。就像在使用 2FA 登录时一样,您需要存储密码已成功输入的状态。