2

みなさん、こんにちは。

firebaseの簡易ログイン(facebook)でangularjsを使いたいです。しかし、認証共有サービスを作成する方法がわかりません。

私がやりたいことは

  • 認証サービスを作成する
  • この認証サービスを使用して、ユーザーがすべてのコントローラーにログインしているかどうかを確認します
  • コントローラーは、$locationユーザーがログインしている/ログインしていない場合に実行します

私もangularjsは初めてですが、この状況でどのサービスを使用すればよいかわかりません。 serviceまたはfactory

以下のコードをAngular Serviceに配置して、ユーザーがログインしているかどうかを各コントローラーに伝えるにはどうすればよいですか?

var firebaseRef = new Firebase("https://test.firebaseio.com");
var auth = new FirebaseAuthClient(firebaseRef, function(error, user) {
   if (user) {
      console.log(user);
   } else if (error) {
      console.log(error);
   } else {
      console.log('user not login');
   }
});

これが私が推測しているものです。コントローラーuserからの戻り値が存在する場合は、ログインページにリダイレクトします。そうでない場合は、ログインボタンを含むログインダイアログを表示して、次のコードを呼び出しますauthServiceauthService.user

authService.login('facebook');

このようにできるか、またはもっと良い方法があるかどうか教えてください。

4

2 に答える 2

2

工場とサービスに関しては、選択にアプローチする方法を説明する良いブログ投稿がありました。これを読むことをお勧めします

認証を行うという点では、サインイン状態をサービスの変数に割り当てる一般的なアプローチは問題ないようです。認証のためにAngularとのより深い統合を行うことを考えていますが、今のところこれは合理的なアプローチのようです.

于 2013-05-28T22:11:40.400 に答える