如何使用短信验证 phone 号码?

How to verify a phone number using a SMS?

我想到了下面的方案,但是如果有人实现了类似的东西可以评论它会很有帮助:

  1. 用户提供了他的电话号码phone。客户端通过 HTTPS 请求一起发送此号码。
  2. 服务器生成一个随机代码,该代码与用户的 phone 号码和截止日期一起存储在数据库中。使用此随机代码向 phone 号码发送短信。
  3. 用户收到短信并将代码提供给 Android 客户端,客户端又通过 HTTPS 再次将其发送到服务器。
  4. 服务器收到代码,如果相同且仍在截止日期内,它会为用户生成一个令牌 包含在 HTTPS 响应中。
  5. 客户端将此令牌存储在 SharedPreferences 中,并在每次她想与服务器通信时发送它。

这就是 Whatsapp 和 Telegram 等巨头的运作方式。

所以我觉得这个想法还是不错的。您可以考虑 HTTPS 部分: http 作为一个整体是一个比较重的协议;因此,使用另一个较重的传输协议(如 MQTT.

可能是个好主意