Express -сессия / повар ie не сохраняется клиенту - PullRequest
0 голосов
/ 09 марта 2020

В настоящее время я работаю над панелью управления, которая включает сторонний oauth2 через раздор. Наконец-то я установил, что он работает локально, установив cook ie после авторизации пользователя, прежде чем он будет перенаправлен:

res.cookie('token', tokenData, { secure: false, httpOnly: false})
res.redirect('https://example.com/')

. На этом этапе в коде браузер находится на странице авторизации стороннее приложение (Discord), и это сервер, который связывается со сторонним приложением, а затем устанавливает повар ie и перенаправляет обратно на клиент.

Локально, я могу отправьте повара ie и он будет прочитан клиентом, но как только он перейдет в разработку, как только произойдет авторизация и я перенаправлюсь на свой веб-сайт, повар ie потеряется. Я попытался установить их в программе повара ie, но, похоже, ничего не помогло.

domain: 'https://.example.com/'

У меня также есть промежуточное ПО cors с этими параметрами, но, похоже, оно не работает что угодно.

{credentials: true, origin: origin}

Я также использую ax ios с

{withCredentials: true}

Мой интерфейс - это приложение React, размещенное на Netlify https://example.com Мой сервер расположен на Heroku , http://api.example.com Все запросы '/ api / *' на Netlify перенаправляются через прокси на http://api.example.com

Я подозревал, что это могло быть потому, что сервер отправлял данные с http на https, поэтому я в итоге создал Dyno на Heroku и пытался сделать http для http, но повар ie все еще терялся.

Локально, он работает с моим клиентом, размещенным на localhost:3000, и моим сервером на localhost:8080

Я попытался зарегистрировать повара ie после вызова res.cookie, и значения повара ie действительно есть, но по какой-то причине я предполагаю, что CORS не позволяет серверу установить повара ie когда он перенаправлен к клиенту. Мне нужен повар ie, чтобы аутентифицировать и различать пользователей, и я хотел избежать использования базы данных только для хранения куки.

Я также пытался использовать express -сессию, но происходит то же самое , Работает локально, но теряется в производстве.

Это связано с Heroku, или я что-то упустил? Заранее спасибо!

...