使用SMS Retriever API Android,OTP/SMS自动提取问题

11
我正在尝试使用Google的SMS Retriever API进行自动短信验证,但是它存在一些问题。 以前,我使用getOriginatingAddress()读取发送方号码,如果它是有效的发送方号码,则读取OTP,否则不应读取消息。因为转发的OTP会干扰用户的隐私。 我的应用程序正在自动获取转发的OTP消息,情况如下:
  • 用户A在手机上安装应用程序并输入用户B的手机号码。
  • 用户B收到OTP并将其转发给用户A。
  • 应用程序在用户A手机上读取OTP并返回主屏幕。
是否有任何方法可以获取发送方号码?
1个回答

1

使用短信检索API无法实现发送者验证。

有一个解决方案可以处理此情况,即在SMSC端。这将与SMSC人员共享您的验证短信的哈希代码,以不转发或限制包含该特定哈希代码的SMS正文的SMS。虽然这不是一个好办法,但这是使用短信检索API的唯一选择。

尽管有另一种方法,我会推荐

Google已发布了另一个处理发件人验证的API,但它具有与SMS Retrieval API不同的流程,称为 SMS User Consent API。此API对于要交付并由设备自动获取的消息具有以下标准:

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

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

希望这能帮助到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接