好的,我有一个相当奇怪的错误。我在我的应用中使用facebook
,twitter
和google
设置了带有firebase后端的angularjs的社交登录。 facebook
和twitter
登录都可以找到,但谷歌却找不到。单击使用Google登录按钮会在我的控制台上抛出此错误
Error: FirebaseSimpleLogin.login() failed: unrecognized authentication provider
这很奇怪,我不确定问题出在哪里
我的观点中有这个
<button class="btn btn-block btn-facebook-inversed rounded" ng-click="login('facebook')">
<i class="fa fa-facebook"></i> Facebook
</button>
<button class="btn btn-block btn-googleplus-inversed rounded" ng-click="login('google')">
<i class="fa fa-google-plus"></i> Google+
</button>
<button class="btn btn-block btn-twitter-inversed rounded" ng-click="login('twitter')">
<i class="fa fa-twitter"></i> Twitter
</button>
在我的登录控制器中
$scope.login = function(provider){
loginService.loginWith(provider, function(err,user){
if(err){
$scope.err = "Unable to authenticate you via " + provider;
} else {
// write user details to firebase
}
});
}
我的loginService有这个
loginWith: function(provider, callback){
auth.$login(provider, {
rememberMe: true
}).then(function(user){
callback && callback(null, user)
},callback);
}
Twitter和Facebook身份验证工作正常但不适用于Google。我错过了什么?
由于
答案 0 :(得分:1)
确保您使用的是Firebase(1.0.17),AngularFire(0.7.1)和简单登录(1.6.1)的最新版本(截至此答案)。
确保您在Firebase信息中心中启用了Google身份验证并使用了正确的应用凭据。
确保将字符串“google”传递给$login()
。
如果我必须下注,您可能正在使用旧版本的Simple Login客户端。
答案 1 :(得分:0)
如果您使用yeoman生成项目的种子,请记得更新bower.json文件 - 默认情况下它包含旧库。
在GitHub上查看此票证:https://github.com/firebase/generator-angularfire/issues/22