Firestore - Facebook Неверный код подписи токена доступа OAuth 190 - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь включить вход в Facebook на свое приложение для Android. Но несмотря на то, что я следовал за документами в Firebase и Facebook, я все еще не мог сделать это. Когда я нажимаю кнопку входа, Facebook выдает мне следующую ошибку:

com.google.firebase.auth.FirebaseAuthInvalidCredentialsException: предоставленные идентификационные данные неверны или устарели. [Неудачный ответ debug_token от Facebook: {"error": {"message": "Недопустимая подпись токена доступа OAuth.", "Type": "OAuthException", "code": 190, "fbtrace_id": "ENYy8qUQd + C"} }]

Я зарегистрировал developers.facebook, выполнил мой App ID и App Secret, чтобы запустить часть аутентификации. После того, как я включил свой keyhash и действительный URI перенаправления oAuth, все еще не могу преодолеть эту проблему. Вот мои коды в андроид;

в процессе создания;

    mCallbackManager = CallbackManager.Factory.create();
    loginButton = findViewById(R.id.facebook_login);
    loginButton.setReadPermissions("email");

    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            signFb();
        }
    });

После создания у меня есть этот метод для registerCallback.

private void signFb()
{
    loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            handleFacebookAccessToken(loginResult.getAccessToken());
        }

        @Override
        public void onCancel() {
            Log.d("aa", "facebook:onCancel");
            // ...
        }

        @Override
        public void onError(FacebookException error) {
            Log.d("aa", "facebook:onError", error);
            Log.d("ere", error.toString());
        }
    });
}



private void handleFacebookAccessToken(AccessToken token) {
    Log.d("asdfgb", "handleFacebookAccessToken:" + token);

    AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
    mAuth.signInWithCredential(credential)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        // Sign in success, update UI with the signed-in user's information
                        FirebaseUser user = mAuth.getCurrentUser();
                        Log.d("esgfsgdvcxz ", "onComplete: ASFDSGBHSF");
                        if(user != null) {
                            Intent intent = new Intent(ActivityLogin.this, MainFragmentActivity.class);
                            startActivity(intent);
                            finish();
                            return;
                        }
                    } else {
                        // If sign in fails, display a message to the user.
                        Log.w("asd", "signInWithCredential:failure", task.getException());
                    }

                    // ...
                }
            });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Pass the activity result back to the Facebook SDK
    mCallbackManager.onActivityResult(requestCode, resultCode, data);
}

спасибо. Я не думаю, что проблема в коде, хотя. Потому что фрагмент Facebook подходит, и я могу нажать продолжить. Но после этого я не могу продолжать.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Перейдите к своей базе и войдите в нее, чтобы включить аутентификацию, и в этом включите авторизацию на Facebook, затем перейдите к правилу и дайте разрешение на чтение и Райт

0 голосов
/ 25 апреля 2019

Решил мою проблему. Я часами безостановочно кодирую, и со всеми этими хромированными вкладками я понял, что забыл нажать «сохранить» на вкладке аутентификации firebase после того, как вставил идентификатор приложения и т. Д. Хорошие дни кодирования.

...