Firebase使用twitter OAuth进行简单登录

时间:2014-10-27 21:20:19

标签: angularjs firebase twitter-oauth angularfire firebasesimplelogin

我试图在我的angularfire应用程序中实现twitter登录,但似乎无法弄明白。我已将回调网址设置为https://auth.firebase.com/v2/MyFIREBASE/auth/twitter/callback,该应用确实会显示一个挂起约3秒的弹出式窗口。弹出窗口上的URL为https://auth.firebase.com/v2/MyFIREBASE/auth/twitter/callback

在我的代码中,我直接从angularfire auth部分进行复制和粘贴。

HTML:

<div ng-controller="SampleCtrl">
  <div ng-show="auth.user">
    <p>Hello, {{auth.user.displayName}}</p>
    <button ng-click="auth.$logout()">Logout</button>
  </div>
  <div ng-hide="auth.user">
    <p>Welcome, please log in.</p>
    <button ng-click="auth.$login('twitter')">Login</button>
  </div>
</div>

的JavaScript:

app.factory("simpleLogin",
  ["$firebaseSimpleLogin", function($firebaseSimpleLogin) {
    var ref = new Firebase("https://MyFIREBASE.firebaseio.com/");
    return $firebaseSimpleLogin(ref);
  }]
);
app.controller("SampleCtrl", 
  ["$scope", "simpleLogin", function($scope, simpleLogin) {
    $scope.auth = simpleLogin;
  }]
);

1 个答案:

答案 0 :(得分:2)

此处看起来版本不匹配 - 您使用的回调网址是Firebase网络客户端(&gt; = v1.1.0)的最新版本,而不是目前与AngularFire捆绑的版本(使用较旧的,已弃用的Firebase简单登录客户端)。不久将发布新版本的AngularFire,它支持更新的API。

与此同时,您可以跳过AngularFire工厂方法并使用Firebase网络客户端&gt; = v1.1.0 直接调用Firebase客户端(即ref.authWithOAuthPopup('twitter', ...))使用Firebase简单登录的旧版本以及旧格式的回调网址,记录在https://github.com/firebase/firebase-simple-login/tree/master/docs/v1