Запрос от приложения React на сервер Flask не включает файлы cookiePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запрос от приложения React на сервер Flask не включает файлы cookie

Сообщение Anonymous »

Я пытаюсь отправить запрос на получение файлов cookie из моего приложения React на сервер Flask. Оба размещены локально и имеют разное происхождение.
Запрос от реакции:

Код: Выделить всё

export async function fetchUser() {
try {
const res = await fetch(`${BASE_URL}/user`, {
method: 'GET',
credentials: 'include',
});
if (res.ok) {
const data = await res.json();
return data.user; // or wtv format it is
} else {
const data = await res.json();
console.log(data)
return null
}
} catch (error) {
console.error(error);
return null
}

Приложение Flask:

Код: Выделить всё

app = Flask(__name__)
CORS(app, supports_credentials=True, resources={r"/*": {"origins": ['http://localhost:5173']}})

def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.cookies.get('token', 0)  # Get the token from cookies
print(token)
if token is 0:
return jsonify({'message': 'Token is missing!'}), 401
result = enc.validate_token(token)
if not result['success']:
return jsonify({'message': result['message']}), 401
identity = result['identity']
return f(identity, *args, **kwargs)
return decorated

@app.route("/user", methods=['GET'])
@token_required
def get_user(current_user):
if not current_user:
return jsonify({'error': 'User not found!'}), 404
return current_user

@app.route("/login", methods=['POST'])
def login():
data = request.get_json()
username = data['username']
password = data['password']
login = au.handle_login(username, password)
if login['success']:
response = make_response(jsonify({ 'success': login['success'], 'message': login['message'] }), 200)
response.set_cookie(
"token",
value=login['token'],
expires=login['expires'],
max_age=login['max_age'],
httponly=True,    # Prevent JavaScript access
secure=False,      # TRUE: Only over HTTPS in production
samesite="Lax" # STRICT: Protect against CSRF
)
return response, 200
return jsonify(login), 401

Файл cookie устанавливается с того же сервера Flask по другому маршруту, и на вкладке файлов cookie приложения показано, что он находится там с правильным токеном ключа. Я добавил учетные данные: 'include' в запрос и support_credentials=True в конфигурации CORS фляги, но в маршруте /user request.cookies.get('token' ) возвращает None.
Кажется, нет ничего неуместного, и у меня закончились идеи — если кто-нибудь может помочь разобраться, в чем дело, я буду очень благодарен

Подробнее здесь: https://stackoverflow.com/questions/792 ... de-cookies
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»