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 にリクエストを行うとしたら、次のようになります。
- Firebase は
auth
変数を認識しますか? - 承認は有効なままですか?
- この方法を使用して、接続を開いたままにし、Firebase を通常の REST API として使用できないようにすることはできますか?
物事をもう少し明確にするために:
- リアルタイム バックエンドは必要ありません。シンプルな REST バックエンドで十分です
- 簡単な認証方法を提供する Firebase を使用したい
- 可能であれば、Firebase SDK の使用を避け、REST API を使用してのみ Firebase とやり取りしたい
言い換えれば、私の質問は次のようになります。
SDKを使用せずにREST APIとしてFirebaseを使用しながら、Firebaseのセキュリティルールを使用するためにクライアント側でユーザーを認証することは可能ですか?