有没有办法不登录就获得firebase身份验证UID?

有没有办法不登录就获得firebase身份验证UID?,firebase,web,firebase-authentication,Firebase,Web,Firebase Authentication,我想知道的是,在没有登录的情况下,从firebase获取身份验证用户UID 那个已经注册的用户 我已经阅读了firebase文档,但所有的解释都集中在用户只有在那个时候登录才能获取UID 但我只想得到UID和用户的电子邮件地址,而不需要登录情况 有什么办法吗?没有,如果用户当前未登录,则无法使用firebase身份验证检索uid或电子邮件 实际检索它们的唯一其他方法是使用firebase数据库。因此,当用户在您的应用程序中注册时,您也会将用户的数据发送到数据库,然后即使他没有登录,您也可以稍后检

我想知道的是,在没有登录的情况下,从firebase获取身份验证用户UID 那个已经注册的用户

我已经阅读了firebase文档,但所有的解释都集中在用户只有在那个时候登录才能获取UID

但我只想得到UID和用户的电子邮件地址,而不需要登录情况
有什么办法吗?

没有,如果用户当前未登录,则无法使用firebase身份验证检索
uid
电子邮件

实际检索它们的唯一其他方法是使用firebase数据库。因此,当用户在您的应用程序中注册时,您也会将用户的数据发送到数据库,然后即使他没有登录,您也可以稍后检索数据

例如(在注册表上),您可以将此数据发送到数据库:

users
    userId
       email : email_here
       name  : name_here

不,如果用户当前未登录,则无法使用firebase身份验证检索
uid
电子邮件

实际检索它们的唯一其他方法是使用firebase数据库。因此,当用户在您的应用程序中注册时,您也会将用户的数据发送到数据库,然后即使他没有登录,您也可以稍后检索数据

例如(在注册表上),您可以将此数据发送到数据库:

users
    userId
       email : email_here
       name  : name_here

你的问题不清楚

如果知道用户的凭据,可以通过AdminSDK创建该用户。您还可以使用AdminSDK通过电子邮件或uid查找现有用户的信息


从中了解更多信息。

您的问题不清楚

如果知道用户的凭据,可以通过AdminSDK创建该用户。您还可以使用AdminSDK通过电子邮件或uid查找现有用户的信息


从中了解更多信息。

您可以应用技巧来完成此操作。虽然这不是一个最佳的解决方案。
您必须记住一点,“没有登录就无法获取UID”。

  • 使用虚拟电子邮件和密码从后端创建虚拟用户
  • 将电子邮件和密码从后端发送到客户端应用程序。如果您想提供额外的安全层,您可以随时散列密码
  • 现在从firebase SDK中调用
    使用email和password登录
    功能,并提供来自后端的电子邮件和密码
  • 用户已在后端注册,因此现在您可以从客户端应用程序获取
    UID

  • 你可以用一个技巧来做到这一点。虽然这不是一个最佳的解决方案。
    您必须记住一点,“没有登录就无法获取UID”。

  • 使用虚拟电子邮件和密码从后端创建虚拟用户
  • 将电子邮件和密码从后端发送到客户端应用程序。如果您想提供额外的安全层,您可以随时散列密码
  • 现在从firebase SDK中调用
    使用email和password登录
    功能,并提供来自后端的电子邮件和密码
  • 用户已在后端注册,因此现在您可以从客户端应用程序获取
    UID
  • mAuth.signinanoymously()
    .addOnCompleteListener(这是新的OnCompleteListener(){
    @凌驾
    未完成的公共void(@NonNull任务){
    if(task.issusccessful()){
    //登录成功,使用登录用户的信息更新UI
    Log.d(标签“signinanoymously:success”);
    FirebaseUser=mAuth.getCurrentUser();
    Log.d(“userstatus”,“用户id为”+user.getUid());
    }否则{
    //如果登录失败,则向用户显示消息。
    w(标记“signinanoymously:failure”,task.getException());
    }
    // ...
    }
    });
    
    mAuth.signinanoymously()
    .addOnCompleteListener(这是新的OnCompleteListener(){
    @凌驾
    未完成的公共void(@NonNull任务){
    if(task.issusccessful()){
    //登录成功,使用登录用户的信息更新UI
    Log.d(标签“signinanoymously:success”);
    FirebaseUser=mAuth.getCurrentUser();
    Log.d(“userstatus”,“用户id为”+user.getUid());
    }否则{
    //如果登录失败,则向用户显示消息。
    w(标记“signinanoymously:failure”,task.getException());
    }
    // ...
    }
    });
    
    如果您不知道用户的UID或电子邮件地址,您对他们了解多少?换句话说:考虑到所有在Firebase注册的用户,您如何知道要显示哪一个用户everything@TTimfirst你试过我的答案吗?如果你不知道用户的UID或电子邮件地址,你对他们了解多少?换句话说:考虑到所有在Firebase注册的用户,您如何知道要显示哪一个用户everything@TTimfirst你试过我的答案了吗?有关更多信息,请查阅官方文件,并在答案中直接添加解释。链接不考虑在此处提供信息,至少是摘要。另外(当忽略链接时,许多用户在这里实际上是这样做的)这是一个代码唯一的答案。这一点也可以通过解释加以纠正。最后,回答解释代码,指出机制,将有助于消除人们的误解,即StackOverflow是一个寻找从事无报酬编程工作的程序员的平台。有关更多信息,请参阅官方文档,请在回答中直接添加解释。链接不考虑在此处提供信息,至少是摘要。另外(当忽略链接时,许多用户