4

Firebaseバックエンドを使用してAngularJSアプリに認証メカニズムを追加したいと思います。要件は単純です。

  • 認証されたユーザーは、どのページにもアクセスできる必要があります。
  • 認証されていないユーザーが/some_page(を除くすべてのページ/login)に移動した場合は、にリダイレクトする必要があります/login。適切なクレデンシャルを入力したら、にリダイレクトする必要があります/other_page

ここで説明する可能な解決策は、次の仮定をします。

私のソリューションは、次のサーバー側の動作を想定しています。/ resources / *呼び出しごとに、ユーザーが許可されていない場合は、401ステータスに応答します。

ただし、Firebaseをバックエンドとして使用するときにこの動作を強制できるかどうかはわかりません。

このようなAngularJS+Firebase統合を実装するためのヘルプや例をいただければ幸いです。

4

3 に答える 3

2

1つの解決策は、 $routeサービスを使用してクライアント側でルーティングを行うことです。

ユーザーがFirebaseを介して認証する場合は、ローカルストレージ、すべてを網羅するコントローラー、独自のAngularサービス(私の好みのオプション)など、クライアントにこの記録を保存します。

ルーティングコントローラーで、ユーザーが認証されている場合はにリダイレクトし/some_page、そうでない場合はユーザーが移動しようとした$location/loginにリダイレクトして追跡します。

一方、サーバーでルーティングする場合は、サーバーにFirebase認証トークンを生成させることでリンクしたソリューションを使用できます。

于 2013-02-21T19:52:00.003 に答える
1

私は最近同じ要件を持っていて、このブログ投稿に出くわしました。 http://www.42id.com/articles/firebase-authentication-and-angular-js/

Firebaseとやり取りするAngularJSアプリケーションの設定について説明します。また、Firebase APIを使用してGoogle+やGithubなどのOAuthプロバイダーに対して認証する方法、認証ステータスに基づいてルーティングする方法、Firebaseにユーザープロファイル情報を保存する方法、ユーザーデータを保護するためにFirebaseにセキュリティルールを設定する方法も含まれています。

于 2015-04-14T14:39:04.700 に答える
0

(独自のサーバーで認証トークンを生成するのではなく)Firebase Simple Loginを使用している場合は、クライアント側でログイン状態を検出する方法をここで確認できます: ログイン後のテキストの表示

于 2013-02-22T20:01:34.390 に答える