首页 > 解决方案 > SMS Retriever API 如何检索 SMS 发件人号码

问题描述

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

标签: android

解决方案


使用 SMS Retriever API 获取发件人的手机号码将是一个不错的选择,以避免错误的 SMS 检索。但不幸的是,到目前为止,您无法获取使用此 API 检索的 SMS 的发件人手机号码。此功能可能会出现在未来的版本中。

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

  1. SMS Retriever API 已经有一些授权机制,可以减少此类虚假 SMS 检索情况的可能性。例如,使用 SMS Retrieval API 读取的所有 SMS 都有一个 11 个字符的哈希字符串来标识您的应用程序。不是每个人都知道您的应用程序的哈希字符串,因此获得未经授权的短信的可能性非常低。
  2. 即使您收到未经授权方发送的伪造短信,您从中获得的 OTP 也是无效的,因此没有机会进行未经授权的验证。

奖金

谷歌还发布了一个名为 SMS User Consent API 的新 API,它能够通过 One Tap 自动填充 OTP。幸运的是,这个 API 还提供了发件人的手机号码过滤。这意味着,如果您的 SMS 提供商从特定手机号码向您发送 SMS,您可以在代码中指定它,它会读取仅从该手机号码收到的 SMS。

参考:

SMS Retriever API:https ://developers.google.com/identity/sms-retriever/overview

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


推荐阅读