#python #reactjs #flask #flask-login
#python #reactjs #flask #flask-логин
Вопрос:
Когда я пытаюсь выполнить вход через ajax (‘/ login’) с пользователем и паролем, он входит в систему, но когда я пытаюсь получить данные пользователя после входа в систему current_user является анонимным. У меня есть 3 маршрута:
- /login: введите параметры пользователя и пароль. Маршрутизатор принимает пользователя и пароль и выполняет вход в систему.
- /user: ВОЗВРАЩАЕТ данные пользователя (имя, адрес электронной почты), если пользователь вошел в систему в другом 404
- / logout: GET выполняет выход из системы
/user и /logout не будут работать, потому что пользователь не входит в систему, когда я $.get эти маршруты.
Маршруты API (логин, пользователь, выход из системы) находятся на ‘localhost: 5000’, в то время как интерфейс ReactJS находится на ‘localhost: 3000’.
Мой пользовательский загрузчик:
@login_manager.user_loader
def load_user(user_id):
try:
return User.query.get(user_id)
except:
return None
/ маршрут входа:
@view.route('/login', methods=['POST'])
def login():
user = User.query.filter_by(email=request.form['email']).first()
if user and check_password_hash(
user.password, request.form['password']):
print(login_user(user, remember=True))
response = jsonify(user.serialize)
response.headers.add('Access-Control-Allow-Origin', '*')
return response
else:
return 404
/ пользовательский маршрут:
@view.route('/user', methods=['GET'])
def get_user():
if current_user.is_authenticated:
response = jsonify(User.query.get(current_user.id).serialize)
response.headers.add('Access-Control-Allow-Origin', '*')
return response
else:
abort(404)
В /user после того, как я вошел в current_user, является AnnonymousUserMixin.
Чего мне здесь не хватает?