使用SMS Retriever API的SMS验证会自动提取问题

时间:2019-03-18 07:27:17

标签: android sms smsmanager smsretriverapi smsautoverification

我正在尝试使用Google的SMS检索器API进行自动SMS验证,但是其中存在问题。 以前,我正在使用getOriginatingAddress()读取发件人号码,如果它是有效的发件人号码,请读取OTP,否则它将不读取消息。与一样,转发的OTP会干扰用户的隐私。

我有以下情况。

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

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

有什么方法可以获取发件人号码吗?

1 个答案:

答案 0 :(得分: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. 如果您指定了发件人的电话号码,则该消息是由 该号码。

希望这对您有帮助!

相关问题