Firebase 登录凭据失败:第一个参数"credential"必须是有效的凭据



我正在使用react-native-facebook-login包来登录用户。目前,该流程运行良好,在用户输入其详细信息后,我成功看到返回了包含其信息的对象。

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

signInWithCredential failed: First argument "credential" must be a valid 

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

我当前返回的凭据对象具有:

  • 权限:数组
  • 令牌:字符串
  • 令牌到期日期:字符串
  • 用户 ID:字符串

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

感觉很开心 - 终于破解了坚果。

它们的关键位是令牌需要先更改,然后才能成为相关凭据。请参阅下面的代码:

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);
    });
}}

根据 Firebase 的文档回答您的问题:其中GoogleAuthProvider可以是您的任何设置/支持的身份验证提供程序

// Build Firebase credential with the Google ID token.
var credential = firebase.auth.GoogleAuthProvider.credential(id_token);
// Sign in with credential from the Google user.
firebase.auth().signInWithCredential(credential).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // The email of the user's account used.
  var email = error.email;
  // The firebase.auth.AuthCredential type that was used.
  var credential = error.credential;
  // ...
});

附带说明一下,当你使用react-native和firebase时,你已经尝试过react-native-firestack了吗?让很多事情变得更容易。

相关内容

  • 没有找到相关文章

最新更新