Недействительные учетные данные при входе в Facebook SDK для Firebase / Unity - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь внедрить аутентификацию Facebook в моем проекте Unity. Итак, после экспериментов с несколькими вещами, я смог сделать так, чтобы аутентификация электронной почты работала нормально. Но когда я попытался внедрить аутентификацию Facebook, он сказал «Неверные учетные данные». Вот мой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Firebase.Auth;
using Facebook.Unity;

public class facebookAuth : MonoBehaviour
{
    private void Awake() {
        FB.Init(initCallBack,OnUnityHide);
    }

    void initCallBack(){
        if(!FB.IsInitialized)
            FB.ActivateApp();
    }

    void OnUnityHide(bool show){
        if(show)
            FB.ActivateApp();
    }

    public void facebookLogin(){
        if(FB.IsLoggedIn){
            FB.LogOut();
        }
        var perms = new List<string>(){"email","public_profile"};
        FB.LogInWithReadPermissions(perms,facebookResult);
    }
    void facebookResult(ILoginResult result){
        if(FB.IsLoggedIn){
            AccessToken token = result.AccessToken;
            Credential credential = FacebookAuthProvider.GetCredential(token.TokenString);
            firebaseFacebook(credential);
        }
    }

    void firebaseFacebook(Credential token){
        FirebaseAuth.DefaultInstance.SignInWithCredentialAsync(token).ContinueWith(task=>{
            if(task.IsCanceled){
                Firebase.FirebaseException e = task.Exception.Flatten().InnerExceptions[0] as Firebase.FirebaseException;
                errorMessage("Canceled : ",(AuthError)e.ErrorCode);
            }
            if(task.IsFaulted){
                Firebase.FirebaseException e = task.Exception.Flatten().InnerExceptions[0] as Firebase.FirebaseException;
                errorMessage("Faulted : ",(AuthError)e.ErrorCode);
                }
            Debug.Log(task.Result.DisplayName + " " + task.Result.UserId);
        });
    }
    void errorMessage(string str, AuthError error)
    {
        string msg = error.ToString();
        print(str+msg);
    }
}

1 Ответ

1 голос
/ 14 января 2020

Ваш код выглядит правильно для моего чтения. Убедитесь, что Facebook включен в консоли Firebase и введены правильные учетные данные: Screenshot of Firebase console - enabling Facebook

(я все время забываю, особенно если мне нужно вводить такие вещи, как Секрет приложения).

Если это не поможет, было бы полезно, если это возможно, иметь дополнительную регистрацию (или копию сообщения об ошибке).

- Патрик

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...