如何为Firebase身份验证用户设置自定义用户UID?

时间:2020-10-02 15:01:26

标签: android firebase firebase-authentication

我想在Firebase身份验证中将自定义ID作为用户UID存储。你能做到吗?根据我的搜索,似乎我需要使用Firebase实时数据库来存储此额外的ID,但我想避免使用其他产品,而将Firebase身份验证中的所有内容都包含在内(我只需要将此第三方ID存储在某个地方)。

enter image description here

我的用例如下:

  1. 用户使用电子邮件/密码或Google登录(使用Firebase身份验证)进行注册

    mAuth.createUserWithEmailAndPassword(电子邮件,密码) mAuth.signInWithCredential(credential)//或Google登录,创建一个新帐户(如果不存在)

  2. 用户输入电话号码并进行验证(使用Firebase身份验证)

  3. 如果一切正常,则自动将用户注册到我们的第三方合作伙伴的后端服务器,该服务器将回发用户的UID(由他们生成,我必须将其存储)。看起来像77a644e1-9322-4291-854e-5dabb59cc296b

  4. 我想将此生成的用户ID存储到Firebase身份验证用户。

1 个答案:

答案 0 :(得分:2)

Firebase身份验证并非旨在存储每个用户的常规信息。数据库更擅长于此。

每个用户存储任意数据的唯一方法是使用custom claims的形式。自定义声明主要用于存储安全规则中要使用的少量数据,目的是通过security rules授权访问实时数据库,Firestore和Cloud Storage中的数据。但是,如果您真的想将此多余的字符串存储在自定义声明中,则可以。但是我会改用数据库。