登录时Facebook身份验证失败?

时间:2018-09-22 09:25:29

标签: android firebase-authentication

虽然登录应用程序显示身份验证失败,但按下登录按钮时失败,错误是访问令牌,而回调的注册工作正常,但在handlefacebookAccessToken中,其显示身份验证失败,并且该应用程序处于developer.facebook控制台上。

onCreate()方法:

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView((int) R.layout.activity_login_in);
   FacebookSdk.sdkInitialize(getApplicationContext());


        facebookbutton=(LoginButton)findViewById(R.id.login_button);


    //
    callbackmanager =CallbackManager.Factory.create();
  //  facebookbutton.setReadPermissions("email", "public_profile");

    facebookbutton.setReadPermissions("email", "public_profile");


     facebookbutton.registerCallback(callbackmanager,new 
     FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
    //  googleprogress =new ProgressDialog(loginIn.this);
    //   googleprogress.setMessage(pleasewait);
    //    googleprogress.show();
    //    googleprogress.setCanceledOnTouchOutside(false);



    Toast.makeText(loginIn.this, LOGED_IN, Toast.LENGTH_SHORT).show();
    String uid=  loginResult.getAccessToken().getUserId();
    String token=             loginResult.getAccessToken().getToken();
    Toast.makeText(loginIn.this,  uid + ""+token, Toast.LENGTH_SHORT).show();





    handleFacebookAccessToken(loginResult.getAccessToken());


}

@Override
public void onCancel() {
    Toast.makeText(loginIn.this, LOGIN_CANCELLED, Toast.LENGTH_SHORT).show();
}

public void onError(FacebookException error) {



}

});
}

handleFacebookAccessToken

  mauth.signInWithCredential(credential)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() 
{
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {

                        Toast.makeText(loginIn.this, "Successfully login", Toast.LENGTH_SHORT).show();

                        user = mauth.getCurrentUser();

                        String uid=          user.getUid();
                        Bundle bundleverify =new Bundle();
                        bundleverify.putString("verify",uid);
                        Intent verificationintent =new Intent(loginIn.this,MainActivity.class);
                        verificationintent.putExtras(bundleverify);
                        startActivity(verificationintent);


                    } else {


                        Toast.makeText(loginIn.this, "Authentication failed.",
                                Toast.LENGTH_SHORT).show();
                    }

                }
            });
}

onActivityResult()

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);


            callbackmanager.onActivityResult(requestCode,resultCode,data);
}

0 个答案:

没有答案