FB登录-Firebase.Auth()错误:提供的身份验证凭证格式错误或已过期

时间:2019-02-28 10:01:21

标签: react-native react-native-firebase react-native-fbsdk

我正在使用react-native-fbsdk: 0.8.0, react-native-firebase: ^5.2.2, react-native: ^0.57.4和Facebook测试用户帐户。

这突然发生了。 一旦我从Firebase注销,然后尝试再次使用Facebook登录。

  

错误:提供的身份验证凭证格式错误或已过期。 [来自USER_INFO的facebook.com的远程站点5XX]。

我尝试了AccessToken.refreshCurrentAccessTokenAsync()。 但给我错误:无法刷新访问令牌。

Facebook令牌将在60天后过期。检查令牌的过期日期是2019年4月29日。 更改测试用户帐户密码,然后再次重新登录。

在Facebook或Firebase设置中我需要做些什么吗?

const result = await LoginManager.logInWithReadPermissions(["public_profile","email"]);

if (result.isCancelled) {
  this.setState({isLoading : false});
  Alert.alert('Error','Login cancelled. Please try again');
} else {              
  try{
    await AccessToken.refreshCurrentAccessTokenAsync();
  }catch(err){
    this.setState({isLoading : false});
    console.log('ereee',err);
  }

  const data = await AccessToken.getCurrentAccessToken();        
  var credential = firebase.auth.FacebookAuthProvider.credential(data.accessToken);
  console.log(data.accessToken);
  //here I get expired date is 2019 April 29
  console.log(moment(data.expirationTime).toDate());

  firebase.auth().signInWithCredential(credential)
    .then((usercredential)=>{                  
      if (usercredential){       
      }else{
        this.setState({isLoading : false});
      }
    })
    .catch((error) => {  
      console.log(error);
    }      
}

9 个答案:

答案 0 :(得分:4)

就我而言;当我关闭“客户端中是否嵌入了应用秘密”时,我摆脱了这个错误。在:开发人员的Facebook->设置->高级。

注意:如果“本地或桌面应用程序?”,此选项可见。已启用。

答案 1 :(得分:2)

如果在Firebase中应用程序密码不正确,则发生此问题

如果输入的访问令牌错误,也会发生此问题

答案 2 :(得分:2)

我知道这不是一个真正的解决方案。但是我在登录之前添加了注销功能。我还没有问题。 问题由同一位用户尝试多次连接而没有正确注销组成。

答案 3 :(得分:1)

有同样的问题,重启设备后就消失了

答案 4 :(得分:1)

就我而言,管理员应该转到 Facebook 应用控制台并完成数据使用检查。

enter image description here

答案 5 :(得分:0)

这可能对OP没有帮助,因为问题已经很久了,但是今天在使用Firebase实施第三方登录时,我遇到了完全相同的问题,并且这个问题在Google上排名第一。

在实现GitHub登录期间,我有相同的错误消息。问题出在我这边,因为我错误地复制了API和API秘密密钥。

仔细检查您的密钥,确保没有像我一样复制任何多余的东西(它有多余的空间+多余的单词)。

答案 6 :(得分:0)

我遇到了同样的问题,事实证明,我忘记在Firebase控制台中设置正确的API密钥和机密(身份验证方法)。

答案 7 :(得分:0)

就我而言,我向Firebase添加了错误的bundle ID / iOS应用程序。因此,我回到了Firebase上的项目,单击“设置”图标,单击了 Project Settings ,然后删除了iOS应用,然后重新添加了正确的应用。

这也可能会解决Android上的问题,请确保程序包名称正确。

答案 8 :(得分:0)

我在 Unity 中遇到了这个问题,使用 FB 进行 Firebase 身份验证。

有五种可能的类型:消费者、企业、小游戏、游戏服务、工作场所或无。 (参考 - developers.facebook.com/docs

首先,将 Facebook 应用类型创建为游戏服务,Firebase 不接受此身份验证方法。

当我将应用类型创建为 None

时,我摆脱了这个错误
相关问题