如何禁用 Firebase Phone Auth Android 自动登录(onVerificationCompleted 回调)

2024-03-22

有没有办法使用 Firebase Phone Auth 禁用 Android“即时验证”(自动登录)?有一种方法可以通过将 verifyPhoneNumber 的超时设置为 0 来禁用“自动检索”(参考:https://firebase.google.com/docs/reference/android/com/google/firebase/auth/PhoneAuthProvider.html https://firebase.google.com/docs/reference/android/com/google/firebase/auth/PhoneAuthProvider.html)。但是我找不到禁用即时验证的记录方法。

我之所以这么问,是因为存在潜在的安全问题:从设备中取出 SIM 卡后,该用户仍然会自动登录!换句话说,使用他人旧设备的用户可以使用他们的旧电话号码登录。以下是重现步骤:

  • 使用 Android、具有功能性 SIM 卡的设备
  • 使用与该 SIM 卡关联的号码登录
  • 这会触发自动登录
  • Sign out
  • 关闭设备并取出 SIM 卡
  • 重新打开设备并尝试使用相同的号码登录

观察到的行为: 尽管没有合适的 SIM 卡,用户仍会自动登录

预期行为: 如果用户的设备没有与输入的电话号码关联的 SIM 卡,则用户不会自动登录,并且会向该号码发送一条 SMS 文本消息。


更新,11.5.09 应该已经覆盖了几乎所有用户的设备。更换 SIM 卡后,即时验证将停止。您也可以使用此技巧进行手动测试。


在即将于第三季度末发布的 Google Play 服务 v11.5 中,将自动检测 SIM 卡更改,这将阻止即时验证工作。新版本将自动推送到用户设备,无需更改 SDK。

为了获得最佳的用户体验和选择加入率,最好等待 Play 服务更新,而不是自己添加可怕的运行时权限(读取和比较电话号码)。谢谢你的耐心!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用 Firebase Phone Auth Android 自动登录(onVerificationCompleted 回调) 的相关文章

  • 如何设置itemTouchHelper选择性滑动?

    所以我在 recyclerview rv 上实现了这个 itemtouchhelper simple 回调 现在 在这个 rv 中 我根据内容类型将 2 种布局设置为一行 因此 当我在 rv 上设置此 touchhelper 时 它正在这两
  • Android 视图展开动画

    我正在尝试编辑这些来源 https github com gabrielemariotti androiddev tree master AnimationTest创建一个适用于我所有视图的简单函数 Override public void
  • Android ACTION_DATE_CHANGED 广播

    我有 Nexus S 当我在手机上手动更改日期时 ACTION DATE CHANGED 并不总是被广播 如果我将日期从 2014 年 2 月 13 日更改为 2014 年 2 月 14 日 我还没有获得 ACTION DATE CHANG
  • 当应用程序停止使用 Sencha Touch 2.2 和 Phonegap 时,LocalStorage 存储不会保留在 Android 手机上

    这在我的浏览器中工作正常 但是当我在手机上安装该应用程序并使用它时 它看起来很好 直到我强制它停止并重新打开该应用程序 然后我的所有记录都消失了 我正在使用 2 2 和 Phonegap 任何帮助将非常感激 这是我的商店 Ext defin
  • Android,无法从谷歌API获取天气

    以下代码之前运行良好 class RetreiveWeatherTask extends AsyncTask
  • API 31 上是否有官方方法来提供文件关联,可能使用 pathSuffix/pathAdvancedPattern?

    背景 现代桌面操作系统上的一个众所周知的功能是能够处理文件 允许用户从文件管理器和其他应用程序中打开它们 作为 文件关联 配置 问题 到目前为止 对于用户和开发人员来说 在 Android 上设置文件类型关联并不是一件很方便的事情 在 An
  • 无法打开本地终端

    我尝试在 Android Studio 中初始化我的终端 但它给了我错误 它说 无法打开本地终端 java io IOException 无法创建 PTY 我的电脑运行的是 Windows 10 如何解决这个问题 当您从 Github 存储
  • Android 中的 XmlPullParser 陷入困境

    经过多个小时的搜索和调试后 我仍然停留在同一个地方 并且 Eclipse 没有帮助我 我试图解析这个 RSS 提要 http fr espnf1 com rss motorsport story feeds 0 xml type 2 这很简
  • 如何防止 Activity 在后退操作时重新加载

    我有连接到互联网以获取数据的应用程序 我可以多层次访问数据 假设我从第 3 级开始 在第 4 级我决定返回 每当我按回之前的活动时 就会从互联网重新加载数据 有可能阻止这种情况吗 我尝试以单顶模式运行该活动 将数据加载代码移至 single
  • 在 doInBackground 方法中启动活动

    在下面的代码中 我从互联网下载 json 并希望显示在列表中 如果列表为空 则转到另一个活动 但其他活动未启动 没有错误 但没有启动活动 感谢您的帮助 package ir mohammadi android nightly import
  • Android Activity 和 Service 关系 - 暂停后、停止后

    假设创建了 Activity A 然后 A 启动了一个 Service S 并将其自身绑定到 S S 通知 A 更新 这将导致 A 的状态发生变化 Android 暂停或停止 A 后 A 和 S 会发生什么 例如 暂停 A 是否会自动解除它
  • 如何设置上拉刷新SwipeRefreshLayout

    我看到很多 ListView 下拉刷新的库 但是当从上到下拉动时它们是工作的 但是从下到上拉动时我如何刷新 我可以用这个做吗滑动刷新布局 http developer android com reference android suppor
  • 完成特定 Activity 的所有实例

    应用程序中可以有很多活动 最后启动的活动保留在堆栈顶部 按下后它会完成当前活动 我有一系列活动 这是流程 如果我们有 A B C 1 D C 2 活动 C 1 和 C 2 是在导航应用程序时启动的活动 C 的两个不同实例 因此 必需的是清除
  • 如何通过代码设置Fragment标签?

    我还没有找到类似的东西setTag String tagName 方法中的Fragment班级 唯一的方法是设置Fragment我发现的标签是通过做FragmentTransaction并传递标签名称作为参数 这是显式设置的唯一方法吗Fra
  • 首选项活动中的广告“没有足够的空间来显示广告!需要:<480, 75>,拥有:<432, 1073741823>”

    我试图在偏好活动中展示广告 但它从未出现 Logcat 始终显示消息 没有足够的空间来显示广告 想要 有 这就是我制作广告的方式 我对广告有自定义偏好 public class AdmobPreference extends Prefere
  • 如何将 currentTimeMillis 转换为可读的日期格式? [复制]

    这个问题在这里已经有答案了 我想用currentTimeMillis两次 这样我就可以计算持续时间 但我也想以用户可读的格式显示时间和日期 我遇到了麻烦currentTimeMillis有利于计算 但我看不到内置函数可以转换为合适的时间或时
  • 日志记录在 Android 设备上实际上有什么作用?

    我一直在 Android 示例中看到这样的代码 try catch Exception e Log e Error e getMessage 什么是Log e实际上在物理设备上做什么 它进入系统日志 开发人员可以通过 SDK 工具访问该日志
  • Android EditText 不起作用,android:imeOptions="actionNext" android:inputType="phone"

    我已经尝试过了 只有删除android inputType phone 键盘回车可以跳转到下一个EditText 不知道大家之间是否有过一些冲突android imeOptions actionNext and android inputT
  • Activity 上的 OnTouchListener 从不调用

    我使用了这段代码 但是当我在运行时单击活动时 它永远不会在 OnTouch 方法中命中 有人可以指导我我做错了什么吗 我需要设置此活动的内容视图吗 实际上我想要用户在执行过程中触摸的活动的坐标 public class TouchTestA
  • Android 可扩展 GridView 就像 Google 图像一样

    我想创建可扩展的 GridView 其行为类似于 Google 图像页面 我想知道如何实现这样的功能 当我单击其中一张图像时 页面会展开并显示图片的详细信息 Android 中是否可以做类似的事情 Images grid Expanded

随机推荐