私はFlask-Loginを使用して認証するフラスコアプリを持っています。フラスコのWebサーバに組み込まれたものと、ローカルで動作するgunicornの両方を使って、すべてがローカルでうまく動作します。しかし、それが英雄の上にあるとき、それは間違っている、時にはそれは私をログインし、時々そうではありません。セッションをナビゲートして数秒以内に正常にログインすると、ただ破棄されて自動的にログアウトされます。これは、ユーザーがログアウトしたときに発生します。Heroku gunicornフラスコのログインが正しく機能していません
私の見解では、次のコードスニペットは、関連するかもしれない:
@app.before_request
def before_request():
g.user = current_user
# I have index (/) and other views (/new) decorated with @login_required
は私がwith this同様の問題が発生する可能性があります。それはまだ答えがありません、私はコメントから読んだものから、作者はpython app.py
と彼のアプリを実行しました。これは、フラスコの内蔵Webサーバーを使用することによるものです。しかし、app.run(host='0.0.0.0')
を実行すると、5000
というポートでアプリが実行され、許可のためにport=80
を設定することができないため、彼の回避策を複製できないようです。
ログに役立つ情報は表示されません。ただし、必要なときにも認証されません。私が認証され、それが私をログアウトするまで交互に/new
と/
に移動しようとしたしまったログの
パート:
2016-09-25T06:57:53.052378+00:00 app[web.1]: authenticated - IP:10.179.239.229
2016-09-25T06:57:53.455145+00:00 heroku[router]: at=info method=GET path="/" host=testdep0.herokuapp.com request_id=c7c8f4c9-b003-446e-92d8-af0a81985e72 fwd="124.100.201.61" dyno=web.1 connect=0ms service=116ms status=200 bytes=6526
2016-09-25T06:58:11.415837+00:00 heroku[router]: at=info method=GET path="/new" host=testdep0.herokuapp.com request_id=ae5e4e29-0345-4a09-90c4-36fb64785079 fwd="124.100.201.61" dyno=web.1 connect=0ms service=7ms status=200 bytes=2552
2016-09-25T06:58:13.543098+00:00 heroku[router]: at=info method=GET path="/" host=testdep0.herokuapp.com request_id=47696ab9-57b9-4f20-810a-66033e3e9e50 fwd="124.100.201.61" dyno=web.1 connect=0ms service=8ms status=200 bytes=5982
2016-09-25T06:58:18.037766+00:00 heroku[router]: at=info method=GET path="/new" host=testdep0.herokuapp.com request_id=98912601-6342-4d71-a106-26056e4bbb21 fwd="124.100.201.61" dyno=web.1 connect=0ms service=3ms status=200 bytes=2552
2016-09-25T06:58:19.619369+00:00 heroku[router]: at=info method=GET path="/" host=testdep0.herokuapp.com request_id=2b04d31f-93a2-4653-83a4-f95ca9b97149 fwd="124.100.201.61" dyno=web.1 connect=0ms service=3ms status=302 bytes=640
2016-09-25T06:58:19.953910+00:00 heroku[router]: at=info method=GET path="/login?next=%2F" host=testdep0.herokuapp.com request_id=e80d15cd-e9ad-45ff-ae54-e156412fe4ff fwd="124.100.201.61" dyno=web.1 connect=0ms service=3ms status=200 bytes=2793
Procfile:
web: gunicorn app:app