当前位置: 首页 > 知识库问答 >
问题:

使用firebase auth,我如何创建帐户而不登录当前活动的帐户?[副本]

封梓
2023-03-14

在我正在进行的一个项目中,我们使用了firebase Auth。

我找到了同样问题的答案,但在尝试实现后,它仍然不起作用(也许答案已经过时了?)。我正在使用firestore,而不是实时,以防相关。

这是我的代码:

FirebaseAuth mAuth;
FirebaseAuth mAuth2;
FirebaseFirestore firestore;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_account_management);
    
    mAuth = FirebaseAuth.getInstance();
    firestore = FirebaseFirestore.getInstance();
    
    buildSecondAuth()
}

/*Builds the auxiliar mAuth in order to create a new user*/
private void buildSecondAuth() {
    FirebaseOptions firebaseOptions = new FirebaseOptions.Builder()
            .setDatabaseUrl(firestore.getApp().getOptions().getDatabaseUrl())
            .setApiKey(firestore.getApp().getOptions().getApiKey())
            .setApplicationId(firestore.getApp().getOptions().getProjectId()).build();
    try {
        FirebaseApp myApp = FirebaseApp.initializeApp(getApplicationContext(), firebaseOptions, mAuth.getApp().getName());
        mAuth2 = FirebaseAuth.getInstance(myApp);
    } catch (IllegalStateException e)
    {
        mAuth2 = FirebaseAuth.getInstance(FirebaseApp.getInstance(mAuth.getApp().getName()));
    }
}

/*Uses the auxiliar auth to create a new account*/
private void signUpNewUser()
{
    mAuthJugador.createUserWithEmailAndPassword(getEmail(), getPass())
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>()
            {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task)
                {
                    if (task.isSuccessful())
                    {
                        mAuth2.signOut();
                    }
                    else
                    {
                        Log.w("TAG", "createUserWithEmail:failure", task.getException());
                    }
                }
            });

}

共有1个答案

公西季
2023-03-14

我认为您不能为同一个firebase应用程序创建2个authencation实例。您可以在同一个Android应用程序中为不同的firebase应用程序创建2个实例。

了解更多信息。请看这篇以前回答过的帖子。

 类似资料:
  • 当使用电子邮件/密码创建新用户时,是否可能禁用自动登录。 我看到其他人问这个问题与JS和swift有关,但似乎找不到任何具体的android相关信息。我试图实现与这个人一样的事情,但用android 感谢任何帮助

  • 我正在远程windows 2012服务器上运行Java代码。服务器将有多个windows用户帐户,如用户X、用户N、用户W等等。 我想在登录到管理员帐户时,在每个帐户上执行特定的代码部分。 是否可能在另一个windows用户帐户上执行一部分代码(即登录到帐户,然后自动注销)? 注意:这与: 如何在Java中获取Windows用户名?-因为我已经知道每个帐户的名称,或者用java创建一个Window

  • 我试图创建一个路由53记录集从帐户1在帐户2. 通过阅读其他帖子和在线搜索,我想做这样的事情: 想从有经验的人那里知道这是否是正确的方法吗?或者有没有更好的方法来实现上面? 更新代码如下:

  • 我一直在尝试使用selenium登录我的谷歌帐户,但一旦我通过电子邮件并点击回车,它会重定向到以下消息 “此浏览器或应用可能不安全。了解更多信息请尝试使用其他浏览器。如果您已经在使用受支持的浏览器,您可以刷新屏幕,然后再次尝试登录。” 以下是我的python代码: 请注意,我是python和selenium的新手。我非常感谢你的帮助。提前谢谢 我已经尝试使用硒谷歌登录块中描述的方法,但它仍然给了我

  • 我想问如何创建两个单独的登录意图。例如,一个是给客户的,一个是给管理员检查细节的。 在这段代码中,它只能显示客户部分,但我如何输入另一种方式,在那里有单独的管理或管理和客户的使用? 更新的一个

  • 这是一个PHP代码片段,来自我正在全局转换为PDO的项目。这就是功能。登录页面的php文件。显然,它没有完全转换为PDO,所以不要批评它,但基本上是在登录中。php文件我让它访问这个方法,并从表单中传递数据库(在中是必需的)、用户名和密码。我设置了一个基本查询,以查找使用表单用户名输入的所有用户。然后我准备并执行查询。然后,我需要一个行计数,因此我在查询上设置了一个$rowcount变量,运行ro