使用Firebase Google用户身份验证时,如果用户已经授权应用程序并且仅登录到一个Google帐户,则会立即登录 .
有没有办法强制显示“选择帐户”对话框,以便用户有机会登录其他Google帐户或创建新帐户?
货币据我所知,用户必须从Google.com手动注销当前的Google帐户(或登录> 1)才能显示对话框 .
您可以强制选择具有“提示”提供程序参数的帐户 .
var googleAuthProvider = new firebase.auth.GoogleAuthProvider(); googleAuthProvider.setCustomParameters({ prompt: 'select_account' }); firebase.auth().signInWithRedirect(googleAuthProvider)
使用Firebase JavaScript SDK v4.1.2进行测试
我想弄清楚同样的事情 . 根据一些Google文档,您似乎可以使用“提示”命令(“无”,“select_account”或“同意”)强制帐户选择器:
Force google account chooser
...但是似乎无法在任何Firebase的身份验证方法(特别是 authWithOAuthRedirect 和 authWithOAuthPopup )中设置"prompt"值 .
authWithOAuthRedirect
authWithOAuthPopup
你有没有能够搞清楚?
您应该明确地从Google退出:
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(status -> { mFirebaseAuth.signOut(); });
找到解决方案here
在我的以下代码中,每次提示选择帐户时都会使用gooogle登录按钮...
public class MainActivity extends AppCompatActivity { Button btn_signOut; private GoogleSignInClient mGoogleSignInClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_signOut = findViewById(R.id.btnSignOut); btn_signOut.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { signOut(); } }); GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .build(); mGoogleSignInClient = GoogleSignIn.getClient(this, gso); } private void signOut() { mGoogleSignInClient.signOut() .addOnCompleteListener(this, new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { finish(); } }); }
}
Use this way to signout.
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { mAuth.signOut(); } });
5 回答
您可以强制选择具有“提示”提供程序参数的帐户 .
使用Firebase JavaScript SDK v4.1.2进行测试
我想弄清楚同样的事情 . 根据一些Google文档,您似乎可以使用“提示”命令(“无”,“select_account”或“同意”)强制帐户选择器:
Force google account chooser
...但是似乎无法在任何Firebase的身份验证方法(特别是
authWithOAuthRedirect
和authWithOAuthPopup
)中设置"prompt"值 .你有没有能够搞清楚?
您应该明确地从Google退出:
找到解决方案here
在我的以下代码中,每次提示选择帐户时都会使用gooogle登录按钮...
}
Use this way to signout.