未找到身份提供程序配置 - 使用 FacebookAuthProvider 反应本机 Firebase 身份验证
Posted
技术标签:
【中文标题】未找到身份提供程序配置 - 使用 FacebookAuthProvider 反应本机 Firebase 身份验证【英文标题】:The identity provider configuration is not found - React Native Firebase Authentication with FacebookAuthProvider 【发布时间】:2019-08-26 14:31:12 【问题描述】:找不到身份提供者配置
当我尝试使用 FacebookAuthProvider 对 Firebase 进行身份验证时出现此错误。我正在使用 react-native-fbsdk 与 react-native 进行 facebook 身份验证集成。我的目标是使用身份验证令牌登录用户 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';
【问题讨论】:
【参考方案1】:我找到了。问题不在于代码。这实际上是非常基本的东西:) 问题是我没有在 firebase 端的登录提供程序部分启用 facebook sign-n 提供程序。如果您遇到同样的问题,您应该启用此身份验证方法。
【讨论】:
如果您的配置未完成或至少发生在我身上,似乎 firebase 会禁用它...以上是关于未找到身份提供程序配置 - 使用 FacebookAuthProvider 反应本机 Firebase 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
用户对 facebook 进行身份验证后未调用应用程序打开 Url 方法
Facebook SDK错误'必需'app_id“密钥未在配置中提供
未找到具有有效签名身份的 Provisiong 配置文件,并且无法找到或生成匹配的签名资产