Я пытаюсь создать простое веб-приложение, чтобы лучше изучить, как он работает. Идея состоит в том, что пользователь может войти в систему через твиттер, а после этого может получить доступ к различным функциям на передней панели. Я могу сделать аутентификацию пользователя через твиттер, но я потерял сеанс от одного запроса к другому. Я использую python3
flask
и flask-oauthlib
Кол-во: потерял сеанс в спокойном сервере
from flask import Flask, request, url_for, session, redirect, flash
from flask_cors import CORS
from flask_oauthlib.client import OAuth
app = Flask(__name__)
cors = CORS(app)
oauth = OAuth()
@app.route('/login')
def login():
callback_url = url_for('oauthorized', next=request.args.get('next'))
return twitter.authorize(callback=callback_url or request.referrer or None)
@app.route('/logout')
def logout():
session.pop('twitter_oauth', None)
return redirect(app.config['FRONT_END_URL'])
@app.route('/oauthorized')
def oauthorized():
frontend_url = app.config['FRONT_END_URL']
resp = twitter.authorized_response()
if resp is None:
flash('You denied the request to sign in.')
return redirect(frontend_url)
elif resp['screen_name'] not in allowed_twitter:
flash('You dont have premission')
return redirect(frontend_url)
access_token = resp['oauth_token']
session['access_token'] = access_token
session['screen_name'] = resp['screen_name']
session['twitter_token'] = (
resp['oauth_token'],
resp['oauth_token_secret']
)
flash('You were successfully logged in')
return redirect(frontend_url + "/accionDirecta")
@app.route('/test')
def test():
print(session) # Is always empty
access_token = session.get('access_token')
if access_token is None:
return("Not login")
else:
return("login")
print(session)
внутри oauthorized()
правильно, но когда пользователь после входа в систему, сделать, чтобы получить /test
с помощью jquery $ajax
я сессия пуст. Зачем?