1

AngularJS と Firebase を使用して Web アプリを作成したいのですが、Firebase が提供する 3 ウェイ バインディングを必要とするのはアプリの一部だけです。他の部分は、常に更新することなく、現在のデータへのバインドを 1 回だけ見つけるだけで機能します。つまり、通常の REST API で十分です。

Thinkster AngularJS-Firebase チュートリアル$resourceでは、この Firebase REST API にアクセスする方法を示しています。このアプローチでは、Firebase への同時接続を開く必要はなく、更新せずに現在のデータのみをフェッチします。

app.factory('Post', function ($resource) {

return $resource('https://FIREBASE-URL.firebaseIO.com/posts/:id.json');
});

シンプルなログイン サービスを使用して Firebase にログインした後、Firebase 接続を開いたままにせずに、これらの種類のリクエストを実行することは可能でしょうか。例えば:

//Does this already open a connection to FireBase?
var ref = new Firebase('https://FIREBASE-URL.firebaseIO.com');

//Login to FireBase
ref.authWithPassword({
  email    : "bobtony@firebase.com",
  password : "correcthorsebatterystaple"
}, function(error, authData) {
  if (error === null) {
    // Can we close the connection now while still leaving the user authenticated?
    Firebase.goOffline();
  } else {
    console.log("Error authenticating user:", error);
  }
});

ここで REST API にリクエストを行うとしたら、次のようになります。

  1. Firebase はauth変数を認識しますか?
  2. 承認は有効なままですか?
  3. この方法を使用して、接続を開いたままにし、Firebase を通常の REST API として使用できないようにすることはできますか?

物事をもう少し明確にするために:

  • リアルタイム バックエンドは必要ありません。シンプルな REST バックエンドで十分です
  • 簡単な認証方法を提供する Firebase を使用したい
  • 可能であれば、Firebase SDK の使用を避け、REST API を使用してのみ Firebase とやり取りしたい

言い換えれば、私の質問は次のようになります。

SDKを使用せずにREST APIとしてFirebaseを使用しながら、Firebaseのセキュリティルールを使用するためにクライアント側でユーザーを認証することは可能ですか?

4

1 に答える 1