2

Firebase のシンプルなメール/パスワード ログインに「rememberMe」オプションを使用しようとしています。しかし、私はそれを機能させることができず、何をしなければならないかを本当に理解していません。

私が使用するコードは次のとおりです。

$('#btn-sign-in').click( function(e){
    var email = $('#login-user').val();
    var password = $('#login-password').val();

    authClient.login('password', {
        email: email,
        password: password,
        rememberMe: true
    });
});

「rememberMe」オプションはどのように機能しますか?

4

2 に答える 2

4

[Firebase のエンジニア] rememberMeFirebase Simple Login のオプションにより、デフォルトのセッション期間が 30 日に延長されます。これは自動的に行われ、技術的にはセッション トークンを生成する (そしてそれらをユーザーの localStorage に保存する) ことで有効になります。

あなたが見ている問題を明確にできますか?この機能セットを使用するには、Forge でパスワード認証を有効にし ( https://YOUR-FIREBASE.firebaseIO.comでアクセス可能)、コードで FirebaseAuthClient をコールバックでインスタンス化して監視する必要があることに注意してください。 https://www.firebase.com/docs/security/simple-login-overview.htmlで説明されている、ユーザーの認証状態。

ユーザーが初めてログインした後、渡したコールバックがユーザー オブジェクトnew FirebaseAuthClient(function(error, user){..})で呼び出されます。error=nullページを更新した後、30 日間のセッションがまだアクティブである限り、このコールバックはユーザー オブジェクトで再び呼び出されます。

于 2013-03-31T04:32:04.720 に答える
1

上記の問題に遭遇しましたが、kimbui は、Chrome で「file://」タイプの URL を使用することに直接関係していることは正しいです。そのような状況では、localStorage オブジェクトは書き込みに使用できませんが、SILENTLY で失敗します。そのため、Firebase はセッション情報が正常に保存されていると認識していますが、更新するとそこにはありません。コードを Apache localhost またはその他の適切な Web サーバーにデプロイすると、すべてが完全に機能します。

Firebase がこの問題を嗅ぎ取ってコンソールにエラーを出力するためにできることがあるかどうかはわかりませんが、答えを嗅ぎ取ってくれた kimbui に感謝します。

于 2013-07-26T01:32:54.723 に答える