Firebase facebook身份验证无法正常运行

时间:2018-06-14 06:53:12

标签: android facebook firebase firebase-authentication

我使用Firebase UI在我的应用中开发fb身份验证。一切顺利,但当我尝试从其他帐户登录时,它继续滚动并进入以前的状态,好像什么也没发生。 Fb登录仅适用于我的帐户,我登录developer.facebook.com并使用凭据的帐户。那么是否有任何选项可以启用fb登录所有用户?这是我的代码。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private FirebaseAnalytics mFirebaseAnalytics;
    private FirebaseAuth mAuth;
    private static final int RC_SIGN_IN = 0;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Obtain the FirebaseAnalytics instance.
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
        mAuth = FirebaseAuth.getInstance();
        if(mAuth.getCurrentUser()!=null)
        {
            Log.d("AUTH",mAuth.getCurrentUser().getEmail());
            //user already signed in
        }else {
            startActivityForResult(
                    AuthUI.getInstance()
                            .createSignInIntentBuilder()
                            .setAvailableProviders(Arrays.asList(
                                    new AuthUI.IdpConfig.EmailBuilder().build(),
                                    new AuthUI.IdpConfig.GoogleBuilder().build(),
                                    new AuthUI.IdpConfig.FacebookBuilder().build()))
                            .build(),
                    RC_SIGN_IN);
        }
        findViewById(R.id.log_out_button).setOnClickListener(this);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==RC_SIGN_IN){
            if(resultCode==RESULT_OK){
                //user logged in
                Log.d("AUTH",mAuth.getCurrentUser().getEmail());
            }
            else {
                //user not authenticated
                Log.d("AUTH","NOT AUTHENTICATED");
            }
        }
    }

    @Override
    public void onClick(View view) {
        if(view.getId()==R.id.log_out_button)
        {
            AuthUI.getInstance()
                    .signOut(this)
                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            Log.d("AUTH","USER LOGGED OUT");
                            finish();
                        }
                    });
        }
    }
}

1 个答案:

答案 0 :(得分:1)

好的我得到了答案。在那个cambridge analytica之后你不能公开使用fb登录,除非你的应用程序在Play商店中存在。您仍然可以在开发人员模式下测试登录功能。这就是为什么我只能登录其他人。对于其他人来说,你必须在developer.facebook.com中将它们添加为测试人员。如果您的应用程序处于活动状态并希望添加此类功能,请务必先确保更新隐私政策网址。