gpt4 book ai didi

firebase - 未找到身份提供者配置 - 使用 FacebookAuthProvider react native Firebase 身份验证

转载 作者:行者123 更新时间:2023-12-04 11:07:25 26 4
gpt4 key购买 nike

未找到身份提供者配置

当我尝试使用 FacebookAuthProvider 对 Firebase 进行身份验证时出现此错误。我正在使用 react-native-fbsdk 与 react-native 进行 facebook 身份验证集成。我的目标是使用身份验证 token 登录用户 ti firebase,并在 firestore 内的 USERS 集合中记录用户数据。

下面是我的代码。任何帮助表示赞赏。!

fbAuth(){
LoginManager.logInWithReadPermissions(['public_profile','email','user_photos']).then(
(result)=>{
this.handleCallBack(result),
function(error){
console.log("error in facebook login.");
}
}
);
}
handleCallBack(result){
var _this = this;
if(result.isCancelled){
console.log("facebook login cancelled.");
}else{
AccessToken.getCurrentAccessToken().then(
(data) => {
const token = data.accessToken;
fetch('https://graph.facebook.com/v2.8/me?fields=id,first_name,last_name,gender,birthday&access_token=' + token)
.then((response=>response.json()))
.then((json)=>{
const imageSize = 120;
const facebookID = json.id;
const fbImage = "https://graph.facebook.com/${facebookID}/picture?height=${imageSize}";
})
this.authenticate(data.accessToken)
.then(result =>{
const {uid} = result;
_this.createUser(uid,json,token,fbImage);
})
})
.catch(error=>{
console.log(error);
})
}
}
authenticate = (token) => {
const provider = firebase.auth.FacebookAuthProvider;
const credential = provider.credential(token);
var ret = firebase.auth().signInWithCredential(credential);
return ret;
}
createUser = (uid,userData,token,dp) => {
const defaults = {
uid,
token,
dp,
ageRange: [20, 30]
}
const db = firebase.firestore();
db.settings({timestampsInSnapshots:true});
db.collection('USERS').add({
...userData, ...defaults,
fsTimestamp: firebase.firestore.Timestamp.now()
})
.then(()=>{
console.log("User recorded.");
//this.clearState();
})
.catch((error)=>{console.log(error)});
}

这是我的进口:
import * as firebase from 'firebase';
import 'firebase/firestore';
import {LoginManager,LoginButton,AccessToken,GraphRequest,GraphRequestManager} from 'react-native-fbsdk';

最佳答案

我找到了。问题不在于代码。这实际上是非常基本的东西:)
问题是我没有在 firebase 端的登录提供程序部分启用 Facebook 登录提供程序。如果您遇到相同的问题,则应启用此身份验证方法。

sign-in providers screen

关于firebase - 未找到身份提供者配置 - 使用 FacebookAuthProvider react native Firebase 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55522640/

26 4 0
文章推荐: npm - 有没有办法让 "npm ci"安装 devDependencies,或者 "npm install"不更新 package-lock.json?
文章推荐: flutter 问题 |未设置用于签署配置发布的 keystore 文件
文章推荐: python - Matplotlib 由于 findfont 引发警告消息 - python
文章推荐: material-ui - Material-ui