gpt4 book ai didi

android - 无法使用 React Native 和 Firebase 获得 Google OAuth 身份验证

转载 作者:可可西里 更新时间:2023-11-01 11:42:02 25 4
gpt4 key购买 nike

我试图让 Google OAuth 与 Firebase 和 React Native 一起工作,但似乎无法让所有东西一起工作。我正在使用 NPM 包 react-native-google-signin处理 Google OAuth 方面的事情并且按预期工作。但是,我在使用 Firebase 对用户进行身份验证时遇到了问题。

我已根据网络指南中的说明在我的 Firebase 实例上启用了 Google 身份验证。但是,当我尝试使用 native OAuth 包中的 idToken 字段进行身份验证时,我总是会收到来自 Firebase 的 INVALID_CREDENTIALS 错误。我正在使用 authWithOAuthToken来自 Firebase Web API 的方法。

我想我已经尝试了将 Web/Android 客户端 ID 用于 Firebase 配置以及 OAuth 包中的 idTokenserverAuthCode 字段的所有组合,但一切都结束了有同样的错误。有没有人让它正常工作?

最佳答案

这就是我为我的应用所做的:

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() 方法。引用:https://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithCredential

关于android - 无法使用 React Native 和 Firebase 获得 Google OAuth 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com