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

标签 android firebase firebase-authentication

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

enter image description here

我的用例如下:

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

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

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

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

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

最佳答案

Firebase 身份验证并非旨在存储一般的每个用户信息。数据库在这方面做得更好。

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

关于android - 如何为 Firebase 身份验证用户设置自定义用户 UID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64173823/

相关文章:

ios - 从 firebase 存储检索图像 url 到数据库

java - 为什么我的 JsonObjectRequest 不工作?

javascript - 如何创建 Firebase web user.reauthenticateWithCredential() 方法所需的 "credential"对象?

java - 我想通过按下当前应用程序中的按钮来终止/关闭特定应用程序。我怎样才能做到这一点?

Firebase 部署出现大量错误

java - SingleValueEvent 显示为空

swift - 如何使用 swift 4 在 ios firebase 中存储用户数据

javascript - web 中的 firebase google 身份验证不适用于 android app webview

android Gcm registrationID 与 Parse 等第 3 方库冲突

android - 无法将滚动添加到其中包含 gridview 的 View