React / Flask 'request.cookies.get' Возвращает None - PullRequest
0 голосов
/ 22 февраля 2020

Я устанавливаю повар ie, когда пользователь входит в систему

@app.route('/login', methods=['POST'])
def user_login():
 login=request.get_json()
 database_response, user = database.find_user(login['loginEmail'], login['loginPassword])
 if database_response and user:
  user_id_from_db = str(user['user_id'])
  user_cookie = make_response(database_response, user)
  user_cookie.set_cookie('user_id', user_id_from_db)
  return user_cookie
 else:
  return database_response

Теперь я пытаюсь получить user_cook ie в своем декораторе login_required и просто распечатать его сейчас:

def login_required(func):
 @wraps(func)
 def wrapper(*args, **kwargs):
  requested_cookie = request.cookies.get('user_id')
  print(requested_cookie) #shows up as None
  return func(*args, **kwargs)
 return wrapper

Я использую этот декоратор на различных функциях маршрута, чтобы проверить пользователя поваром ie, но даже при попытке его печати он показывает None. Даже если я запрашиваю повара ie в одной из тех функций, которые я украшаю, он показывает None. Я обработал все ошибки CORS, которые я получил до сих пор. Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Оказывается, мой фронтенд выполняет вызов извлечения, у меня было:

withCredentials: true

вместо

credentials: 'include'

Теперь я могу получить куки.

0 голосов
/ 26 февраля 2020

Проблема в этой строке в коде декоратора requested_cookie = request.cookie.get('user_id')

Это должно быть request.cookies, вам не хватает s в файлах cookie.

Таким образом, по сути, request.cookies - это набор всех файлов cookie, доступных в контексте запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...