いつもお世話になっております。
FLask Login
を使ってソーシャル認証を行ないたいと考えています。
callback後にlogin_user
を実行することで、current_userはその時点では取得できているのですが、なぜかリダイレクト後になるとcurrent_userが取得できていません。(ログイン状態が保持できていない)
app/auth.py
python
1@bp.route('/callback', methods=["GET", "POST"]) 2def callback(): 3 auth_code = request.args['code'] 4 client = slack.WebClient(token="") 5 oauth_info = client.oauth_access( 6 client_id=client_id, 7 client_secret=client_secret, 8 code=auth_code 9 ) 10 11 access_token = oauth_info['access_token'] 12 client = slack.WebClient(token=access_token) 13 user_id = oauth_info['user_id'] 14 response = client.users_info(user=user_id) 15 16 login_user(user) 17 print(current_user) 18 ## <User 'XXXXXXXXXX'> 19 ## current_userは取得できている 20 return redirect(url_for('user.show', cat=user.uid))
app/user.py
python
1from flask_login import current_user 2 3@bp.route('/<cat>') 4def show(cat): 5 print(current_user) 6 ## <flask_login.mixins.AnonymousUserMixin object at XXXXXX> 7 ## current_userが取得できていない 8 return render_template('user/show.html)
app/init.py
python
1# login manager 2login_manager = LoginManager() 3login_manager.init_app(app) 4login_manager.login_view = "auth.callback" 5 6@login_manager.user_loader 7def load_user(user_id): 8 try: 9 return User.query.get(user_id) 10 except: 11 return None
Login Manager
の使い方が間違っているのかもしれないと疑っていて、いくつか試行錯誤してはいるのですができていません。すみませんがお知恵を拝借させていただければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。