android - 如果我只知道firebase中的UID,我可以登录用户帐户吗
问题描述
我有一个按钮,并且我知道在 firebase 控制台的身份验证页面上创建用户后由 firebase 生成的用户唯一 UID,现在单击按钮后我想登录该用户,这可能吗?如果是的话怎么办?我不想使用电子邮件和密码,我只想使用 UID 登录。
我已尝试创建自定义令牌,如此处所示无法在 FirebaseOptions.Builder().setCredentials(...) 中解决 setCredentials
在我的应用程序中,我使用的是人脸识别 api,因此用户可以通过两种方式登录:1)手动输入电子邮件、密码并单击登录。2)在登录页面中,有一个使用人脸登录的按钮,单击它扫描面部并返回用户的 UID(如果存在),现在我要登录该用户。
请帮忙。
解决方案
你试图做的事情是不可能的。基于客户端的身份验证要求您提供登录凭据,而不仅仅是 uid。如果任何使用应用程序的人只要知道一个 uid 就可以登录,那将是一个巨大的安全漏洞。
如果您想在不登录的情况下代表用户执行某项操作,则应在您使用 Firebase Admin SDK 控制的安全后端上执行此操作。
推荐阅读
- service - mqtt 的负载测试服务
- c# - 在 WPF 中的 LinearGradientBrush 中禁用颜色混合
- google-apps-script - Pull-down list by another answer in Google Form
- angular - Can We add hash(#) after query params(with ?) in Angular 4/6 routing?
- ios - TTTAttributedLabel didSelectLink 没有在 swift 4.0 中调用
- jquery - Bootstrap 4 下拉菜单在使用 create-react-app 生成的项目中不起作用
- java - 无法为事务打开 JDBC 连接
- java - 找不到 Spring 安全类 DefaultLogoutPageGeneratingFilter
- java - Log4j 不创建日志文件
- android - 在 Android Studio / IntellIJ 中调整 png 图标的大小