如果我只知道Firebase中的UID,我可以登录到用户的帐户吗

时间:2018-11-09 06:10:56

标签: android firebase android-studio firebase-authentication

我有一个按钮,我知道在Firebase控制台的身份验证页面上创建用户后,firebase生成的用户唯一UID,现在单击该按钮后,我想登录该用户,这可能吗?如果是,怎么办? 我不想使用电子邮件和密码,我只想使用UID登录。

我尝试创建自定义令牌,如下所示Cannot Resolve setCredentials in FirebaseOptions.Builder().setCredentials(...)

在我的应用程序中,我使用的是人脸识别api,因此用户可以通过两种方式登录: 1)手动输入电子邮件,密码并单击登录。 2)在登录页面中,有一个按钮可以用面部登录,单击它可以扫描面部并返回用户的UID(如果存在),现在我要登录该用户。

请帮助。

2 个答案:

答案 0 :(得分:2)

您要尝试执行的操作是不可能的。基于客户端的身份验证要求您提供登录凭据,而不仅仅是uid。如果任何使用应用程序的人都可以知道一个uid来登录,那将是一个巨大的安全漏洞。

如果您想代表用户执行某些操作而无需登录,则应在使用Firebase Admin SDK控制的安全后端上执行该操作。

答案 1 :(得分:0)

然后,在创建帐户时,用户应上传图片,然后您可以使用Firebase数据库存储面部细节,电子邮件和以UID为键的密码。 然后在使用面部识别登录时,如果面部详细信息与数据库中的详细信息匹配,则用户已登录。但是我认为这并不安全。