Я работаю над реализацией сеансов с Flask в Google App Engine, а Chrome (Linux) не завершает сеанс при закрытии браузера. Firefox работает нормально.
Chrome (Linux) Я вхожу в систему, и если я специально не выхожу из системы, сеанс сохраняется Chrome, когда я закрываю браузер и начинаю с пустая страница браузера. Я вижу, что создается повар ie с именем localhost. При проверке с помощью Chrome, срок действия ie действительно истекает при закрытии сеанса браузера. Я изменил настройки в Chrome, чтобы начать с новой вкладки (не там, где он остановился в прошлый раз), но сеанс сохраняется.
Firefox (Linux) Работает, как ожидалось: я вхожу в приложение, закрываю браузер, и в следующий раз, когда я открываю браузер, я получаю экран входа в систему.
Вот main.py:
from flask import Flask etc etc
# Import Blueprints
from login_bp import login_bp
app = Flask(__name__)
#Register Blueprints
app.register_blueprint(login_bp)
# Set the cookie secret key to some random bytes. Keep this really secret!
app.secret_key = b'_@%@@^)_*_)!!^%&*'
@app.route('/')
def main():
if 'username' in session:
session.permanent = False
message = "This site is for development purposes only"
return render_template('main.html', username=session['username'], message=message)
return redirect(url_for('login_bp.login'))
@app.route('/logout')
def logout():
# remove the username from the session if it's there
session.pop('username', None)
return redirect(url_for('login_bp.login'))
Схема входа в систему (login_bp.py):
from flask import Blueprint, render_template
from flask import session, redirect, url_for, escape, request
login_bp = Blueprint('login_bp', __name__)
@login_bp.route('/login', methods=['GET', 'POST'])
def login():
message = 'Some blurb'
if request.method == 'POST':
session['username'] = request.form['username']
session.permanent = False
return redirect(url_for('main'))
return render_template('login.html', message=message)
Есть идеи, как заставить Chrome завершить сеанс при закрытии браузера?
Спасибо!