错误:FirebaseSimpleLogin.login()失败:无法识别的身份验证提供程序

时间:2014-07-12 21:13:45

标签: angularjs authentication firebase firebasesimplelogin

好的,我有一个相当奇怪的错误。我在我的应用中使用facebooktwittergoogle设置了带有firebase后端的angularjs的社交登录。 facebooktwitter登录都可以找到,但谷歌却找不到。单击使用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。我错过了什么?

由于

2 个答案:

答案 0 :(得分:1)

  1. 确保您使用的是Firebase(1.0.17),AngularFire(0.7.1)和简单登录(1.6.1)的最新版本(截至此答案)。

  2. 确保您在Firebase信息中心中启用了Google身份验证并使用了正确的应用凭据。

  3. 确保将字符串“google”传递给$login()

  4. 如果我必须下注,您可能正在使用旧版本的Simple Login客户端。

答案 1 :(得分:0)

如果您使用yeoman生成项目的种子,请记得更新bower.json文件 - 默认情况下它包含旧库。

在GitHub上查看此票证:https://github.com/firebase/generator-angularfire/issues/22

相关问题