【问题标题】:Firebase facebook authentication is not working properly for meFirebase facebook 身份验证对我来说无法正常工作
【发布时间】:2018-06-14 06:53:12
【问题描述】:

我使用 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();
                        }
                    });
        }
    }
}

【问题讨论】:

  • 您是否在firebase控制台中启用了FB登录?为 Firebase UI 设置应用 ID 怎么样?并添加 FacebookLogin 依赖项?你确定一切都完成了吗?有任何错误痕迹吗?
  • 是的,我做到了。那里没有错误。正如我所说,FB 登录对我的帐户有效,但对其他人无效。
  • 您是否将您的应用设置为“公开”,并且您是否已经对其进行了审核(如果适用)...? developers.facebook.com/docs/apps/review
  • 开发模式/公共的切换在应用仪表板中,关于审查……你在开玩笑吗?我刚刚链接到那个文档!

标签: android facebook firebase firebase-authentication


【解决方案1】:

好的,我得到了答案。在 cambridge analytica 之后,除非您的应用在 Play 商店中上线,否则您将无法公开使用 fb 登录。您仍然可以在开发人员模式下测试登录功能。这就是为什么只有我能够登录而不是其他人。要让其他人使用,您必须将它们添加为 developer.facebook.com 中的测试人员。如果您的应用已上线并希望添加此类功能,请务必先更新隐私政策网址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2014-10-05
    • 2014-11-17
    • 2012-10-20
    相关资源
    最近更新 更多