Firebase signInWithCredential 失败:第一个参数“凭据”必须是有效凭据

wil*_*iam 6 facebook firebase react-native firebase-authentication

我正在使用 react-native-facebook-login 包来登录用户。目前流程运行良好,在用户输入他们的详细信息后,我成功地看到了一个带有他们信息的对象。

当我尝试使用 signInWithCredential 在 Firebase 中创建帐户时,我收到以下错误消息:

signInWithCredential failed: First argument "credential" must be a valid 
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到该凭据需要如何传递的细分 - 它是字符串、对象、数组等。它只是令牌还是我需要传递其他详细信息(即提供者)?

我目前取回的凭证对象有:

  • 权限:数组
  • 令牌:字符串
  • tokenExpirationDate:字符串
  • 用户 ID:字符串

任何帮助将不胜感激 - 谢谢!

wil*_*iam 7

感觉很高兴 - 终于破解了坚果。

他们的关键是令牌需要先更改,然后才能成为相关凭证。见下面的代码:

onLogin={function(data){
    let token = firebase.auth.FacebookAuthProvider.credential(data.credentials.token);
    firebase.auth().signInWithCredential(token)
       .then((user) => {
           console.log(user)
       }).catch((err) => {
           console.error('User signin error', err);
    });
}}
Run Code Online (Sandbox Code Playgroud)