Экспресс-сеанс не сохраняется в Graphql через Docker

Я использую graphql-yoga для создания своего графического интерфейса api, конфигурация экспресс-сессии такова:

session({
  store: new RedisStore({
    client: redis as any,
    prefix: redisSessionPrefix
  }),
  name: "qid",
  secret: process.env.SESSION_SECRET as string,
  resave: false,
  saveUninitialized: false,
  cookie: {
    httpOnly: true,
    secure: process.env.NODE_ENV === "production", // Only works with https
    maxAge: 1000 * 60 * 60 * 24 * 7 // 7 days
  }
})

Полный код здесь.

Затем, если какой-либо пользователь хочет войти в систему, сеанс сохраняется следующим образом:

session.userId = user.id;

user.id взят из ORM под названием TypeORM, найти пользователя можно только по электронной почте, и я помещаю идентификатор этого пользователя в session.userId. Полный код здесь.

А затем, если я хочу проверить, вошел ли пользователь в систему или нет, я использую запрос:

User.findOne({ where: { id: session.userId } })

Этот предыдущий код выполняет только Entity из TypeORM с именем User, который определяет только, у какого пользователя есть session.userId. Но этот session.userId не определен ... Полный код здесь

Кто-нибудь знает почему?

Это конфигурации докеров, которые я использую для разработки.

Dockerfile.devDocker-compose.dev.yml

Если кому-то нужен 100% полный код здесь, вы можете его найти, и вы можете запустить его с docker-compose -f docker-compose.dev.yml up --build в папке сервера.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
217
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если кто-то хочет знать, мне помог Бен Авад из Твиттер, решение было добавить в графическую площадку request.credentials: include, и все :)

Пришел сюда из шаблона Бен Авада!

Mino 23.05.2020 00:28

Другие вопросы по теме