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

Kyo*_*agi 7 react-native react-native-fbsdk react-native-firebase

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

这发生的太突然了。一旦我从 firebase 注销并尝试使用 Facebook 再次登录。

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

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

Facebook 令牌将在 60 天后过期。查了一下token过期日期是2019年4月29日,修改test用户账号密码,重新登录,还是一样。

在 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);
    }      
}
Run Code Online (Sandbox Code Playgroud)

san*_*eju 8

如果 firebase 中的应用程序密钥错误,则会出现此问题

如果访问令牌输入错误也会出现此问题


ere*_*130 5

就我而言;当我关闭“客户端中嵌入了 App Secret 吗?”时,我摆脱了这个错误。在:面向开发者的 Facebook -> 设置 -> 高级。

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


Ond*_*čík 1

这可能对 OP 没有帮助,因为问题已经很老了,但今天我在使用 Firebase 实现第 3 方登录时遇到了完全相同的问题,并且这个问题作为 Google 上的最佳结果弹出。

我在实现 GitHub 登录时遇到了同样的错误消息。问题出在我这边,因为我错误地复制了 API 和秘密 API 密钥。

仔细检查你的钥匙,确保你没有像我一样复制任何额外的东西(它有额外的空间+额外的单词)。