Итак, вот сценарий. У меня есть два сервера, флеш-сервер и сервер Bokeh, работающие рядом. Сервер Bokeh используется для отображения интерактивных графиков, и я пытаюсь использовать сервер фляги для аутентификации пользователей, прежде чем они смогут получить доступ к серверу Bokeh. Вот мой POST-скрипт для входа в приложение фляги. Я перешел по этой ссылке, чтобы настроить сервер Bokeh ( Простая защита имени пользователя и пароля на сервере Bokeh ). Для флеш-сервера приведенный ниже код используется для аутентификации пользователей и их перенаправления на сервер Bokeh.
from bokeh.util import session_id
@auth.route('/login' , methods=['POST'])
def login_post():
email = request.form.get('email')
password = request.form.get('password')
user = User.query.filter_by(email=email).first() # if this returns a user, then the email already exists in database
if user and check_password_hash(user.password, password):
print('user exists')
s_id = session_id.generate_session_id()
return redirect("http://localhost:5006/app?bokeh-session-id={}".format(s_id), code=302)
print('user does not exist')
return redirect(url_for('auth.login'))
Однако после аутентификации меня перенаправляют на страницу с ошибкой 403: Invalid session ID
,Обратите внимание, что в приведенной мной ссылке я создаю секретный ключ для сервера Bokeh, но не было определено, как передать этот секретный ключ серверу-колбе. У кого-нибудь есть идеи как решить эту проблему? Я открыт для более эффективных решений для аутентификации на сервере Bokeh, кроме этого.