我正在尝试用Facebook注册用户,但我看到非常僵化的错误,而且似乎没有解决的帮助,所以我再次询问 那就是我的代码
async function signInWithFacebook() {
// const appId = Expo.Constants.manifest.extra.facebook.appId;
Facebook.initializeAsync(appid)
const permissions = ['public_profile']; // Permissions required, consult Facebook docs
const {
type,
token,
} = await Facebook.logInWithReadPermissionsAsync(
{permissions}
);
if(type == "success"){
const credential = initFirebase.auth.FacebookAuthProvider.credential(token);
initFirebase.auth().signInWithCredential(credential)
.catch(err => {
console.log(err)
})
}
}
我在字符串中使用appid,但是我没有在这里添加它,希望您能理解。
错误是这个
这是我的Firebase配置文件代码
import firebase from "firebase/app"
import "firebase/firestore"
import "firebase/auth"
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "xxxxxxxx",
authDomain: "xxxxxx",
databaseURL: "xxxxxx",
projectId: "xxxx",
storageBucket: "xxxxx",
messagingSenderId: "xxxxx",
appId: "xxxxx"
};
// Initialize Firebase
const initFirebase = firebase.initializeApp(firebaseConfig);
export default initFirebase
由于隐私原因,隐藏了变量值。我曾与firestore合作,但我遇到了auth与facebook的问题。
我正在使用react native,firebase,expo而不是firebase sdk
答案 0 :(得分:1)
您无需注册Facebook应用程序即可使用Firebase登录Facebook。您可以在控制台中启用Firebase Facebook身份验证的情况下使用以下代码。
export const loginWithFacebook = (accessToken) => {
const credential = initFirebase.auth.FacebookAuthProvider.credential(accessToken);
return new Promise((resolve, _reject) => {
signInWithCredential(credential).then(response => {
resolve(response);
});
});
};