問題タブ [firebasesimplelogin]
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.
javascript - 私がfalseに覚えている場合でも、firebaseの自動ログイン
ボタンをクリックするとすぐにログインしようとしますが、auth.login('password', { email: email, password:password,rememberMe: false});
まだ : に電話をかけていません...
私はそのrememberme: false
設定を使用していますが、それでも同じことを行います。を呼び出さずに自動的にログインしようとするのはなぜauth.login
ですか?
ios - Firebase チェック方法 (iOS)
私は Firebase Simple Login を使用しており、適切なログインを受け入れ、間違ったログインを拒否し、静かにログアウトさせてくれます (うまくいったかどうかはわかりません)。私が取り組んでいるのは次のとおりです。アプリの起動時に、ユーザーがまだログインしているかどうかを確認する必要があります (これは、ユーザーが "remember me" を選択した場合に発生します)。そうである場合はそのまま進み、そうでない場合はログイン画面を表示します。
私が観察しているunauth
のは、Firebase 全体で関数を呼び出してからcheck
メソッドを使用しようとすると、ブロックに返されるエラーは NULL であり、ユーザーの電子メールは最後にログインしたユーザーと同じままであるということです。logout
認証オブジェクトでメソッドを使用すると、同じことが起こります。
これは RubyMotion アプリなので、REPL で遊んで、何が起こっているかを確認できます。
更新:コードを追加しているので、これに遭遇した他の人は何が起こっているのかを見ることができます. これは、motion-firebase の特異性であることが判明しました。そのための修正を提出します。それまでの間、私のコードは次のとおりです。
設定するコード:
ログイン メソッドを呼び出すと、Firebase コールバックに応答し、完了すると、Ruby コードでクロージャーが実行されます。これはすべて機能します。スタッフは、無関心なアクセスでハッシュを取得するためのMotionMap
単純な方法です。
今、REPLでこれを行うことができます:
それで、私が最初にしたことは、この特定の Firebase 参照の承認を取り消すことでしたよね? そして、先に進んでチェックを行いました。エラーはゼロ (Objective-C では NULL) でしたが、ユーザー情報はそのままでした。つまり、自分のユーザーが無許可であったとは言えません。
更新: unauth
Firebase オブジェクトを呼び出してもcheck
、ログイン状態を確認する方法には影響しないようです。motion-firebase の logout メソッドで簡単な修正を行いましたがlogout
、auth オブジェクトでメソッドを呼び出すと、実際にはそのオブジェクトの情報がクリアunauth
され、Firebase オブジェクトが呼び出されるようです。これは、何が起こっているかを見てからの私の推論です。
呼び出しcheck
( にマップされる(void)checkAuthStatusWithBlock:(void ( ^ ) ( NSError *error , FAUser *user ))block
) は非同期で実行され、完了時にブロックが呼び出され、nil
エラーが発生し、ユーザーが完全に空になることに注意してください。
nil
エラーは予期された動作ですか?
firebase - Firebase: 安全なセッション トラッキングを実装するにはどうすればよいですか?
編集:この質問を単純化しようとする...非常に基本的なレベルで、これはセッションシステムのかなり基本的な必要性でなければならないと私は信じています...onDisconnect機能を壊さずにSECUREセッショントラッカーをどのように持つのですか? セキュリティ ルールを追加すると、onDisconnect は機能しません。セキュリティ ルールを追加しないと、保護されていないテーブルに書き込みを行ったり、他のユーザーの存在を削除したりして、だれでもログイン セッションを「偽装」できます。
「onDisconnect」が呼び出されない問題を解決しようとしています。私のセキュリティ ルールでは、ログインしているユーザーのみが /sessions/$userid/"true" にプレゼンス データを書き込むことが許可されているためです。ユーザーはログインしていますが、そのユーザーがログアウトした後、またはタイムアウトのためにログアウトした後にブラウザーを閉じると、onDisconnect はセキュリティ ルールによってブロックされます。
最初は...「ああ、ログアウトが発生した場所にさかのぼって、そこにセッションの存在をもう一度クリーンアップすることができる」と思いました。しかし、さらに考えてみると、auth = newFirebaseSimpleLogin コールバックの "else" ブロックがログアウトを検出する唯一の方法であるように思われることに気付くでしょう。それに加えて、ログアウトが発生した後にコールバックが返されるため、onDisconnect 呼び出しでセッションを削除できるようにログインする必要がある場所に戻りますが、この時点では既にログアウトしています。
何か不足していますか?私が認識していないログアウト前の呼び出しはありますか? onDisconnect がログアウト後にセッションを削除できるようにするために、セキュリティ ルール ファイルでできる特別なことはありますか?
問題の「テーブル」に対して私が持っているセキュリティルールブロックは次のとおりです。
JS では単純です。
予想どおり、onDisconnect にログインしていないため、次のようになります。
編集:反対票とは何ですか? =/
javascript - Facebook Firebase Simple Login でメールを受け取る
Firebase Simple Login で Facebook を使用しています。user.displayName
FirebaseSimpleLogin インスタンスで正常に実行した人の本名を取得しようとしています。でメールを取得しようとするとuser.email
、 が返されますundefined
。私は Google+ で同じことをしましたが、問題なく動作し、未定義は返されませんでした。これが私のコードです:
だから、私の質問は、どうすれば Facebook Firebase Simple Login でユーザーのメールアドレスを取得できますか? よろしくお願いします。
firebase - ドメイン間で Firebase Simple Login セッションを共有するにはどうすればよいですか?
example.com と app.example.com があります。あるドメインから誰かをログインさせ、そのセッションを他のドメインと共有するにはどうすればよいですか?
angularjs - AngularFire でアカウントを作成した後、ユーザーを自動的にログインできません
こんにちは、私は AngularJS + Firebase を Angular Fire で使用しており、AngularJS の内外を学ぶためのシンプルな tumblr のようなブログ アプリを作成しようとしています。angular-seed を使用したり、特定のチュートリアルから離れたりするのではなく、必要に応じて学習するだけです。
$firebase シンプル ログイン システムが動作するようになりました。簡単なユーザー登録フォームを作成し、ユーザーが送信すると、機能する $createUser() を起動し、ユーザーが入力したすべてのプロファイル データを、createUser promise によって返された user.id を使用してデータ セットに読み込みます。APIドキュメントには、空白のままにすると、作成後にユーザーが自動的にログインする引数であると書かれていますが、これが削除され、ドキュメントが更新されていないことをいくつかの場所で読みました。また、通常の Firebase API では、アカウントの作成後にユーザーがログインする必要があることが言及されています。次のように、返されたアカウント作成の promise 内で $login() メソッドを起動してみました。
そして、このエラーがスローされます:
$scope.login(email,password) に似たコントローラー内で作成したメソッドを呼び出してみましたが、それも機能しませんでした。ユーザーが登録すると、ログインしているユーザーに制限されたホーム ビューに移動することになります。ユーザーが認証されていない場合は、ログイン ビューに戻します。現在のように、ユーザーは自分のアカウントを作成してから /home にルーティングされ、認証済みとして表示されず、ログインに戻ります。私のルーター設定:
routechange が開始されたときにユーザーが認証されているかどうかを確認するロジックは次のとおりです。
currentUser という別の変数を作成し、createUser 関数によって返されたユーザー データをロードして、ホーム ビューに移動するときにそれもチェックすることで、問題を回避しようとしました。それは機能しますが、ユーザーが更新すると、セッションに保存されていないため、その情報が失われます。これは $login が行うことです。
firebase - 認証トークンの有効期限が切れた後の再ログイン
私は得る:
トークンの有効期限が切れたらアプリを更新しない限り、再度ログインできないようです。
_login() で Google ログイン ポップアップが開かない
angularjs - Firebase: $firebaseSimpleLogin が SecurityError をスローするのはなぜですか?
Firebase Simple Login メカニズムを使用してユーザーを登録しようとしています。
しかし、コンソールに次のエラーが表示されます。
また、$createUser
コールバックは実行されません。
「メールとパスワード」認証を有効にlocalhost
して、認可されたリクエストオリジンのリストに入れました。
私は何を間違っていますか?
ios - iOSでFirebaseオブジェクトをディスクに永続化する方法は?
Firebase iOS の実装では、クライアント モデルのオフライン キャッシュがサポートされていないようです。これが実際に意味することは次のとおりです。
- 認証が必要な Firebase アプリの場合、データの移動を開始する前に、最初に認証を行い、Firebase がログインを完了するのを待つ必要があります (ユーザー ID の確認、ソケットのオープンなど)。少なくともここフィンランドでは、ネットワークの状態にもよりますが、これには 1 ~ 8 秒 (通常は 2 ~ 5 秒) かかります。
- 認証後、Firebase は最初にデータの初期セットをダウンロードし、クライアント キャッシュを初期化します。これを実行する時間は、リスナーを追加するデータのサイズによって異なりますが、通常は非常に高速です。
ここでの問題は、Firebase を使用してメッセージング アプリなどを実装している場合、バックエンド サーバーとの実際の接続が確立される前に、以前にキャッシュされたバージョンのメッセージ スレッドとメッセージをユーザーに表示したい可能性が高いことです。設立。
これを適切に実装するには、次の処理が必要になると思います。
- クライアント側モデル <-> Firebase JSON マッピング (これには Mantle を使用します)
- クライアント側モデルをディスクに永続化する (NSKeyedArchiver や Core Data などを使用した手動実装?)
- 接続が利用可能な場合に、ディスク上のモデルをメモリ内の Firebase にリンクされたモデルと同期する (手動実装?)
2) と 3) を達成するための解決策 (自社またはサードパーティ) を思いついた人はいますか?