假设我的应用程序不向我的服务器发送任何设备标识符。但它使用 Firebase 进行 SMS 身份验证。
如果用户登录,然后启用 VPN,重新安装我的应用程序,然后尝试使用不同的电话号码登录,我如何在使用 Firebase 流程期间检测服务器端它仍然是同一设备?
但它使用 Firebase 进行 SMS 身份验证。
据我所知,当您收到短信时,不存在任何元数据,因此您无法识别设备。
如果用户登录,然后启用 VPN,重新安装我的应用程序,然后尝试使用不同的电话号码登录,我如何在使用 Firebase 流程期间检测服务器端它仍然是同一设备?
如果不将唯一标识设备的内容写入数据库并在用户每次尝试再次登录时检查该唯一值,就很难知道这一点。即使您编写了此类基于硬件的标识符,例如 IMEI、MAC、序列号等,您也不能依赖非 Google 设备(Pixel 和 Nexus 除外)的数据。根据有关Android标识符最佳实践的官方文档,它明确指出:
避免使用硬件标识符,例如IMEI、MAC地址等...