Android 无法使用React Native和Firebase获得Google OAuth身份验证
我正试图让Google OAuth与Firebase一起工作,并以本地方式进行反应,但似乎无法让所有东西都协同工作。我正在使用NPM包来处理GoogleOAuth方面的事情,这正如期工作。但是,我在使用Firebase对用户进行身份验证时遇到了一个问题 我已经根据Web指南中的说明在Firebase实例上启用了Google身份验证。但是,当我尝试使用本机OAuth包中的Android 无法使用React Native和Firebase获得Google OAuth身份验证,android,firebase,react-native,google-oauth,firebase-authentication,Android,Firebase,React Native,Google Oauth,Firebase Authentication,我正试图让Google OAuth与Firebase一起工作,并以本地方式进行反应,但似乎无法让所有东西都协同工作。我正在使用NPM包来处理GoogleOAuth方面的事情,这正如期工作。但是,我在使用Firebase对用户进行身份验证时遇到了一个问题 我已经根据Web指南中的说明在Firebase实例上启用了Google身份验证。但是,当我尝试使用本机OAuth包中的idToken字段进行身份验证时,我总是从Firebase收到INVALID\u CREDENTIALS错误。我正在使用Fire
idToken
字段进行身份验证时,我总是从Firebase收到INVALID\u CREDENTIALS
错误。我正在使用Firebase Web API中的方法
我想我已经尝试过在Firebase配置中使用Web/Android客户端ID和OAuth包中的
idToken
和serverAuthCode
字段的各种组合,但都以相同的错误结束。有人能让它正常工作吗 这是我为我的应用程序所做的:
import {GoogleSignin} from 'react-native-google-signin';
const KEYS = {
// ... // ios and web keys (i'm loading them from my server)
}
login() {
GoogleSignin.hasPlayServices({ autoResolve: true })
.then(() => {
GoogleSignin.configure(KEYS)
.then(() => {
GoogleSignin.signIn()
.then(this.onGoogleLoginSuccess)
.catch(error=>{})
.done();
});
})
.catch((err) => {
console.log("Play services error", err.code, err.message);
})
}
onGoogleLoginSuccess(user) {
var token = user.idToken;
var provider = firebase.auth.GoogleAuthProvider;
var credential = provider.credential(token);
firebase.auth().signInWithCredential(credential)
.then((data)=>console.log('SUCCESS', data))
.catch((error)=>console.log('ERROR', error));
}
关键是要使用
signInWithCredential()
方法。参考资料:你有什么消息吗?你能告诉我应该在上打印什么吗?然后((数据)=>console.log('SUCCESS',data))
?