我用Ionic 2创建了一个应用程序,它使用Firebase和email / passoword身份验证 . 我正在使用angularfire2来与firebase交谈 .
export const firebaseConfig = {
apiKey: "***********",
authDomain: "***********",
databaseURL: "*****************",
storageBucket: "***************"
};
const myFirebaseAuthConfig = {
provider: AuthProviders.Password,
method: AuthMethods.Password
}
AngularFireModule.initializeApp(firebaseConfig, myFirebaseAuthConfig)
一切都很好,但现在我决定添加Facebook登录,我不能让它工作!
以下是我正在遵循的步骤 . 我已经安装了facebook插件并正确设置了Facebook - Firebase for Facebook auth,将平台添加到facebook等:
ionic plugin add cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="myApplication"
现在问题:angularfire2的官方文档说要使用这种方法连接到firebase并验证facebook用户:
facebookLogin(){
Facebook.login(['email']).then( (response) => {
let facebookCredential = firebase.auth.FacebookAuthProvider
.credential(response.authResponse.accessToken);
**firebase**.auth().signInWithCredential(facebookCredential)
.then((success) => {
console.log("Firebase success: " + JSON.stringify(success));
})
.catch((error) => {
console.log("Firebase failure: " + JSON.stringify(error));
});
}).catch((error) => { console.log(error) });
}
如果我尝试在我的应用程序中设置firebase,当然它会崩溃 .
import firebase from 'firebase';
firebase.initializeApp({
apiKey: "************",
authDomain: "************",
databaseURL: "**************",
storageBucket: "***************"
})
如果我尝试将此方法与angularfire2一起使用,则表示signInWithCredential方法不存在 . 我应该如何在我的应用程序中使用angularfire2但是使用firebase导入以便在firebase中一起实现facebook登录?!
2 回答
不确定你是否已经对它进行了排序,但这是我用于Facebook登录时使用的角度2 .
}
请记住在 app.module.ts 和 login page 中导入以下内容:
import * as firebase from "firebase";
还有这个:
import { AngularFireAuthModule, AngularFireAuth } from 'angularfire2/auth';
然后:
PS :
此外,在Facebook Developer中公开你的Facebook应用程序,这样更容易测试 .
在Facebook Developer和 packagename.name.MainActivity 输入您的应用程序的包名称
我不认为你需要添加任何 Hash keys