11

我正在尝试使用 Google 的 SMS Retriever API 进行自动 SMS 验证,但其中存在问题。以前,我正在阅读发件人号码getOriginatingAddress(),如果它是有效的发件人号码,则阅读 OTP,否则不应阅读邮件。因为,转发的 OTP 会扰乱用户的隐私。

我有以下情况。

我的应用程序正在自动获取转发的 OTP 消息。

  •  用户 A 在其手机上安装应用程序并输入用户 B 手机号码。
  •  用户 B 收到 OTP 并将其转发给用户 A。
  • 应用程序读取用户 A 手机上的 OTP 并转到主屏幕。

有什么办法可以得到发件人号码。?

4

1 回答 1

1

您无法使用 SMS Retriever API 实现发件人验证。

有一种解决方法可以在 SMSC 端处理这种情况。那就是与 SMSC 人员共享您的验证 SMS 的哈希码,以不转发或限制在 SMS 正文中包含该特定哈希码的 SMS。这不是一个好方法,但这是 SMS Retriever API 的唯一选择

虽然我会推荐另一种方法

Google 发布了另一个处理发件人验证的 API,但它的流程与 SMS Retriever API 及其称为SMS User Consent API的流程不同。此 API 具有以下标准,用于发送消息并由设备自动获取

只有满足以下条件的消息才会触发广播:

  1. 该消息包含一个 4-10 个字符的字母数字字符串,其中至少有一个数字。
  2. 该消息是由不在用户联系人中的电话号码发送的。
  3. 如果您指定了发件人的电话号码,则消息是由该号码发送的。

希望对你有帮助!

于 2019-11-22T12:04:20.830 回答