Flask отправляет файлы cookie на локальный сервер, но не при развертывании на heroku

#javascript #python #heroku #cookies #setcookie

Вопрос:

Я использую файлы cookie для авторизации при входе в систему на Flask/Nuxt.js веб-сайт, и он работает, когда я запускаю сервер локально, когда, но не в моем развертывании Heroku. Я не верю, что это проблема переднего плана, потому что, когда она работает, она работает как на локальном, так и на интерфейсе Vercel, и одно и то же правило применяется, когда она не работает. Кроме того, у меня нет кода в интерфейсе для получения файла cookie.

Установка файла cookie:

 res = make_response({'user': user}, 200)  res.set_cookie(  'token',  value=token,  httponly=True,  samesite='strict',  secure=True,  expires=(datetime.utcnow()   timedelta(weeks=1))  )  return res  

После запроса:

 @app.after_request def after_request(response):  response.headers.add(  'Access-Control-Allow-Origins',  ['lt;deployment-sitegt;', 'lt;localhostgt;']  )  response.headers.add(  'Access-Control-Allow-Headers',  'Content-Type,Authorization,Secret'  )  response.headers.add(  'Access-Control-Allow-Methods',  '*'  )  response.headers.add(  'Access-Control-Allow-Credentials', 'true'  )  return response  

Отправка запроса:

 //Axios Client Getter  export const getters = {  client: (state, getters, rootstate) =gt; {  const BASE_URL =  process.env.NODE_ENV === 'production'  ? lt;deployment-sitegt;  : 'lt;localhostgt;'  const Client = Axios.create({  baseURL: BASE_URL  })  Client.interceptors.request.use(  async function(config) {  const secret = bcrypt.hashSync(  lt;api-secretgt;,  genSaltSync()  )  config.headers['Secret'] = secret  return config  },  error =gt; Promise.reject(error)  )  Client.defaults.withCredentials = true  return Client  } }  //Axios Call export const actions = {  async aUserLogin(store, user) {  const Client = store.rootGetters['auth/client']  try {  const res = await Client.post('login/users', user)  return true  } catch (err) {  if (err.response.status === 401) {  store.dispatch('aIncorrectPassword')  } else {  store.dispatch('error/aPassError', err, { root: true })  }  return false  }  } }