我试图在我的angularfire应用程序中实现twitter登录,但似乎无法弄明白。我已将回调网址设置为https://auth.firebase.com/v2/MyFIREBASE/auth/twitter/callback,该应用确实会显示一个挂起约3秒的弹出式窗口。弹出窗口上的URL为https://auth.firebase.com/v2/MyFIREBASE/auth/twitter/callback。
在我的代码中,我直接从angularfire auth部分进行复制和粘贴。
<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>
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;
}]
);
答案 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。