2012-12-12 27 views
8

私はフラスコログインで動作する認証を持っていますが、フラスコのクッキー持続時間に何を使用してもセッションはまだ認証されているようです。フラスコログインの設定変数を正しく設定していますか?私はしばらく待って、私は、ブラウザを閉じてもフラスコログイン:ChromeはCookieの有効期限を無視しますか?

app.REMEMBER_COOKIE_DURATION = datetime.timedelta(seconds=30) 
app.config["REMEMBER_COOKIE_DURATION"] = datetime.timedelta(seconds=30) 

を試みたが、私はまだそれにアクセスすることができ、保護すべきであるURLをヒットしました。これはthis issue with chrome?に関連していますか?クッキーをクリアすると、予想されるログインページが表示されます。これにより、クッキーのタイムアウトが尊重されていないと思うようになります。

また、PERMANENT_SESSION_LIFETIMEはフラスコ内で何をしますか?

答えて

17

REMEMBER_COOKIE_DURATIONは、「Remember me」機能、つまりブラウザを閉じてもログインしたユーザーを覚えておく時間を表すために使用されます。別のクッキーが使用され、その名前はREMEMBER_COOKIE_NAME(デフォルトではremember_token)で設定できます。 (ブラウザがまだ走り続けていても)いくつかの時間後に期限切れにログインセッションを強制するには、アプリの設定を維持PERMANENT_SESSION_LIFETIMEどこかに設定します。

PERMANENT_SESSION_LIFETIME = datetime.timedelta(minutes=30) 

を、ログインビューでsession.permanent = Trueを設定します。

from flask import session 

@app.route('/login') 
def login(): 
    # ... 
    if login_user(user): 
     session.permanent = True 
     return redirect(request.args.get('next') or url_for('index')) 
    # ... 
+0

THanks! session.permanentを追加するトリックをした! – reptilicus

関連する問題