SMS检索器API如何检索SMS发件人编号

问题描述 投票:2回答:1

是否可以获取我在android中收到的短信的手机号码?我们正在尝试通过发送SMS并从运营商处获取用户的手机号码来进行身份验证,但是接下来的步骤涉及通过读取SMS进行身份验证。我们面临的问题是,如果我从其他任何移动设备发送相同的消息,则无法验证原始SMS号码。它盲目地阅读SMS。

android
1个回答
0
投票

为了避免错误的SMS检索,使用SMS Retriever API获取发件人的手机号码将是一个不错的选择。但不幸的是,您无法使用此API 截至目前获取已检索的SMS的发件人手机号码。将来的版本中可能会提供此功能。

但是,如果您已经拥有OTP验证机制,则无需担心,因为...

  1. SMS Retriever API已经具有某种授权机制,可以减少这种错误的SMS检索案例的可能性。例如,使用SMS Retrieval API读取的所有SMS都有一个11个字符的哈希字符串,用于标识您的应用。并非所有人都知道您的应用程序的哈希字符串,因此,获得未经授权的SMS的可能性非常低。
  2. 即使您收到由未经授权的方发送的虚假短信,您从中获得的OTP也是无效的,因此不会有未经授权的验证。

Bonus

Google还发布了一个称为SMS用户同意API的新API,该API具有通过一次点击自动填充OTP的功能。幸运的是,该API还提供了发件人的手机号码过滤功能。意思是,如果您的SMS提供商从特定的手机号码向您发送SMS,则可以在代码中指定该号码,它只会读取从该手机号码收到的SMS。

参考:

SMS检索器API:https://developers.google.com/identity/sms-retriever/overview

SMS用户同意API:https://developers.google.com/identity/sms-retriever/user-consent/overview

© www.soinside.com 2019 - 2024. All rights reserved.