0

angularfire アプリケーションに Twitter ログインを実装しようとしていますが、理解できないようです。コールバック URL を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;
  }]
);
4

1 に答える 1

2

ここでバージョンの不一致が発生しているようです - 使用しているコールバック URL は、現在 AngularFire にバンドルされている (古い非推奨の Firebase を使用する) よりも新しいバージョンの Firebase Web クライアント (>= v1.1.0) 用ですシンプル ログイン クライアント)。新しい API をサポートする新しいバージョンの AngularFire がまもなくリリースされます。

当面は、AngularFire ファクトリ メソッドをスキップしref.authWithOAuthPopup('twitter', ...)て、Firebase Web クライアント >= v1.1.0を使用して Firebase クライアントを直接 (つまり) 呼び出すか、古いバージョンを Firebase Simple Login と古い形式のコールバック URL で使用することができます。https://github.com/firebase/firebase-simple-login/tree/master/docs/v1に記載されています。

于 2014-10-28T17:44:48.597 に答える