2016-08-10 11 views
1

私は、電子メールとパスワード認証を使用して、angularJSアプリケーションでfirebaseを使って作業しています。 私のアプリケーションをFirebase 2.xから3.xに、AngularFireを1.xから2.xにアップデートするだけです。Firebase 3.認証が維持されない

しかし、今、私は私のページを更新するたびに、私は再する必要があります:

私は、移行を行うために、これらの2つのドキュメントを追いました永続セッションがないように認証します。

私はlocalStorageキーを確認しましたfirebase:authUser私は過去にexpirationTimeを持っています(実際には自分のログインのタイムスタンプで設定されています)。

ユーザーは私が使用LOGGEDINされるかどうかを確認するには:[email protected] /パスワード:toto123ここ$firebaseAuth().$getAuth()

EDIT

は(ログイン私の問題の実施例であります) https://plnkr.co/edit/463Hse?p=preview

誰でもこの現象が分かりますか?

+2

[問題を再現する最小限のコード](http://stackoverflow.com/help/mcve)が表示されていないと、手助けするのが難しいでしょう。 –

+0

遅れて申し訳ありませんが、私はそれに取り組んでいます(それは非常に大きなアプリですので、私は多くを簡素化する必要があります) – Tako

答えて

3

最初の認証状態が解決されるのを待たずに、現在のユーザーを直接確認していると思います。あなたはオブザーバを追加する必要があります。

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    } else { 
    // No user is signed in. 
    } 
}); 

https://firebase.google.com/docs/auth/web/manage-users

また、認証状態はあなたが有効になっていることを確認してくださいウェブストレージに格納されます。 (状態は、たとえばサファリプライベートモードブラウズでは持続しません)。

+0

さて、私はこれを試してみましょう。しかし、私がFirebase 2.xとAngularfire 1.xにいたときには、最初の認証状態が解決するのを待たずに '$ firebaseAuth()。$ getAuth()'を使用しました。そして、角度ファイアウォールの移行ガイドでは、「あなたの約束事と$ getAuth()呼び出しはすべて機能しますが、認証のペイロードはわずかに異なります」と述べました。だから私は何もしないと思っていた。 – Tako

+0

ありがとう、私は '$ waitForSignIn()'を待っている私のユーザーが認証されていると動作するように見える前に彼の約束を返します。 – Tako

関連する問題