問題タブ [firebase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cordova - Firebase with Phonegap - index.html ページでは完璧に動作し、他のページでは部分的に動作します
Firebase と Phonegap で少し遊んでみました (現在は Android のみで、Adobe のオンライン ビルド ツールを使用しています)。私は彼らのサイトから Firebase チャット サンプルを取得し、それをほぼ「そのまま」index.html ページに貼り付け、phonegap config.xml で必要とされるものをバンドルしました。Android モバイルで単一の index.html を使用してアプリを実行すると、100% 実行されます。index.html にリンクされた内部ページ (つまり、chat.html) に移動すると、受信チャットを受信できますが、送信されません。同じコードが index.html に表示されたときに機能するにもかかわらず、何かが正しく読み込まれていないようです。
私の推測では、それは私が述べた参照、それらの順序と場所に何らかの形で関連していると思います。
これが私のコードのスニペットです。必要に応じて、さらにいくつか述べることができます。
config.xml で:
index.html で:
chat.html で、すべてのスクリプト タグにコメントを付けました (もちろん、すべてのスクリプト タグが存在する (コメントなし) でも試してみましたが、同じ結果が得られました)。
my.js (完全):
ありがとう!
api - REST API PHP CURL を介した Firebase GET データ
PHP cURL を介して単純な読み取りを実行しようとしています。セキュリティルールで全員が許可されている場合、データを正常に読み取ることができます。
ただし、読み取り/書き込みを特定のユーザー名に制限すると、たとえば
許可が拒否されます。
コードは次のとおりです...
URL でトークンの代わりに FB シークレットを使用するだけで、データ (auth=$secret) を正常に読み取ることができます。また、「カスタム認証」を使用して Forge シミュレーターでデータを読み取るテストにも成功しました (例: {'username': 'admin'})。
PHP JWT ライブラリを使用しています: https://github.com/luciferous/jwt/blob/master/JWT.php
cURL 呼び出しが正しくないため、またはトークンを適切に構築していないために、許可が拒否されているかどうかはわかりません。cURL 経由で POST と GET を使用してみましたが、同じ結果が得られます。
どんな提案でも大歓迎です...
非常に迅速な対応に感謝しますアンドリュー。私はあなたの提案を試みました。残念ながら、まだ「許可が拒否されました」というメッセージが表示されます。これが私の更新されたコードです...
- データの .read ルールを「auth != null」に変更することでこれを機能させましたが、それほど安全ではないようです...
参考までに、データ構造は単純です
ところで: このアプリケーションでは、データの読み取り/書き込みを行うユーザーは 1 人だけです。トークンを取得できない場合... URL で秘密鍵を渡すことなく、REST API 経由で呼び出しを認証するより良い方法はありますか? 例 &auth='my-secret'
local-storage - Firebaseを使用したセッション管理?
認証とセッション処理を必要とするFirebaseを使用して基本的なウェブアプリを構築しています。Firebase Authのドキュメントを調べて、Facebookログインでメール/パスワードオプションを使用することにしました。
ログインに成功するtoken
と、ページが更新されたとき、またはを使用して新しいタブでログインするために再度使用できるが取得されますauth()
。ただし、そのためには、クライアント側のどこかにトークンを保存する必要があります。認証とセッション処理を実装するFirefeedのソースコードを調べて、ユーザーのブラウザのにtoken
保存されます。localStorage
このアプローチはどの程度安全ですか?localStorage
ブラウザを使用している人なら誰でもデータを見ることができるからです。これに代わるより良い方法はありますか?
firebase - authClient.createUser が無効な電子メール アドレスでエラーをスローするのはなぜですか?
次のコードは、javascript エラーをスローします。ここsome_email
で、 は不適切な形式の電子メール アドレスです。
コンソールに次のように表示されます。
エラーパラメータが入力されていて、ユーザーデータがない状態でコールバックが単に起動しない理由はありますか? これは、エラー パラメータを使用するのに適したケースのようです。これにより、独自のメール検証や try/catch ブロックを作成する必要がなくなります。
firebase - push() は現在 Firebase で機能していませんか、それとも何か間違っていますか?
次のコードがあります。
「https://myacct.firebaseIO.com」という URL にアクセスすると、コレクションに「item3」しか表示されません。残りの 2 つは表示されません。コレクション オブジェクトが追加されているのではなく、書き換えられているようです。子供の名前を手動で入力すると、うまくいきます。たとえば、次のように動作します。
これはバグですか、それとも私が使用している方法で何か間違ったことをしていpush
ますか?
ありがとう。
cordova - Phonegap アプリで Facebook 経由で Firebase 認証を行うことは可能ですか?
Facebook 認証を使用して最初の Firebase ベースの Web ページを作成しましたが、非常にうまく機能します (セットアップも簡単です)。
しかし、iOS/Android で実行される Phonegap アプリに html を埋め込むのは簡単ではないと思います。Facebook (または Twitter) 認証は、App WebView では直接機能しないと思います。
それを機能させることは可能ですか?ヒントはありますか?
firebase - 順序付けられた Firebase データへの複数のビュー
私のアプリケーションは、画像が優先度として投稿されたときのタイムスタンプを使用して、各写真 (url) が Firebase 構造に追加されるいくつかのソースから写真を収集します。
次のタスクは、画像のリストを時系列または人気順 (いいね) で表示できるようにすることです。
child_added
それらを時系列でリストしてページ付けすることは、イベントと一緒にstartAt
使用することでかなり簡単limit
ですが、それらを人気順に表示するときにデータをどのように構造化してクエリするべきかわかりません。
私はいくつかのアプローチを念頭に置いていますが、それらはすべてかなり粗雑です:
- すべての画像を取得し、クライアントで並べ替えとページ付けを行います (最大で 1,000 個の画像があります)。
- 実際のデータの値を参照ポインターとして使用して、人気度 ( count など)によって優先される別の Firebase データ構造を作成します。
real-time - Firebase データ構造
「ユーザー」リストを作成しようとしています。しかし、ドキュメントhttps://www.firebase.com/images/data_structure.pngで構造化されている方法を複製することはできません。
代わりに、私の構造には、未加工のテキストを持つ子ノードを持つユーザーがあります。代わりに、ドキュメントに示されているように、「john」、「terry」などの名前の子ノードが必要です。
これが理にかなっていることを願っています。ありがとう
firebase - authClient.login が「Unauthorized request origin」でエラーを返す
これはここ数日のうちに発生し始めたばかりで、私のコードは変更されていません。私は間違いを犯しましたか、それともこれは新しいものですか?
作業しているドメイン (この場合は localhost) からのアクセスを許可するために、firebase forge のセキュリティ ルールに追加する必要があるルールがあることを暗示しているようですが、そのドキュメントがどこにあるのかわかりません。
誰でも助けることができますか?このエラーを回避するにはどうすればよいですか?