Messagebird SMS 身份验证/OTP 用于带有节点 js 和 flutter 的移动应用程序

Messagebird SMS authentication/ OTP for mobile app with node js and flutter

我正在尝试使用 nodejs 和 flutter 应用程序通过 MessageBird 服务发送 SMS OTP。

我尝试了此视频的配置和调用(来自 MessageBird 的官方),但我无法理解我要返回的 ID 和我应该 post 的令牌是怎么回事Messagebird 的 API.

视频link:https://www.youtube.com/watch?v=6wrThyJi7lo

谁能帮帮我?

非常感谢!

简而言之:

ID用于验证过程,当你在教程的第三步将ID和token一起发回给messagebird时,messagebird会告诉你刚才发送的这个token是不是发给用户的那个.

流程是这样的:

  1. 您的应用程序从用户那里得到一个 phone 号码
  2. 您的应用程序使用 messagebird sdk 发出 verify 请求(它调用 messagebird.verify.create(number, {"template": "<message_template>"}...)
  3. Messagebird 将用随机令牌替换您 <message_template> 中的 %token,并向用户的 phone.
  4. 发送消息
  5. 如果 verify.create 请求成功,messagebird 会为您提供此验证过程的 ID,您稍后需要在用户向您提交令牌时验证令牌
  6. 用户给你一个令牌,你将它连同 ID(来自上一步)传回给你调用 messagebird.verify.verify(id, token, ...)
  7. 的 messagebird
  8. Messagebird 将根据令牌是否与发送给用户的内容匹配,以成功或错误的方式回复您的请求。

更多详细信息:您需要 ID 和令牌才能同时处理多个用户,想想如果您有两个用户同时验证他们的 phone 号码,一个得到令牌 1234 和另一个没有 ID 的 5678 无法区分它们。

您将用户输入的“令牌”连同验证对象的 ID 一起发送到 MessageBird API,以验证客户拥有 phone 号码并收到带有代码的消息。还要确保它在超时内完成,此值默认为 30 秒。

本教程也可在此处以文本形式获得https://github.com/messagebirdguides/verify-guide#verifying-the-code

要更改超时,请将其添加到参数中

messagebird.verify.create(number, {"timeout": 120}...)