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