【问题标题】:firebase direct auth with email and password带有电子邮件和密码的firebase直接身份验证
【发布时间】:2016-08-18 18:22:22
【问题描述】:

嗨,当我想允许玩家通过按钮登录时,我会使用此功能

firebase.auth().signInWithEmailAndPassword(email, password);

这是第一次登录的一个很好的解决方案。但我想允许直接登录而不点击登录按钮。直接登录的最佳方式是什么?目前,我尝试将电子邮件和密码或令牌存储在离线存储中,并使用 signinwithemailandpassword 方法。但是如果存在一个简单的firebase函数会更好

【问题讨论】:

    标签: javascript firebase firebase-authentication


    【解决方案1】:

    如果您的启动器活动是您的 LoginActivity,请将其添加到您的代码中。

    private FirebaseAuth mAuth;
    private FirebaseAuth.AuthStateListener mAuthListener;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
    
        mAuth = FirebaseAuth.getInstance();
        mAuthListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                if (user != null) {
                    // User is already signed in
                    launchMainActivity();
    
    
                } else {
                    // User is not yet signed in
                }
            }
        };
    
    }
    
    @Override
    protected void onStart() {
        super.onStart();
        mAuth.addAuthStateListener(mAuthListener);
    }
    
    @Override
    protected void onStop() {
        super.onStop();
        if (mAuthListener != null) {
            mAuth.removeAuthStateListener(mAuthListener);
        }
    }
    

    或者,您可以在您的 LoginActivity 的 onCreate、onResume 或 onStart 中使用它

    if(FirebaseAuth.getInstance().getCurrentUser() != null){
      launchMainActivity();
    }
    

    【讨论】:

    • 我在 javascript 中使用 ionic 框架。但是 getCurrentUser 将用户保存在缓存中?
    • @DThink 请always 标记您使用的语言。这样可以避免可能能够提供帮助的人浪费时间想出不适用于您的代码。
    • 这个答案的要点对于所有平台都是相同的。对于网络,请参阅:firebase.google.com/docs/auth/web/…
    • 是的,非常抱歉。话题可以关闭,你的解决方案很好。谢谢大家!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2019-07-13
    • 2016-10-13
    相关资源
    最近更新 更多