Вход в систему работает на локальном хосте, но при установке в Heroku произошла ошибка «требуется секретная опция для сеансов» - PullRequest
0 голосов
/ 23 октября 2019

Моя аутентификация работает правильно на локальном хосте, но выдает ошибку 500 при развертывании на Heroku.

Ошибка:

{"type":"error","error":{"message":"secret option required for sessions"}}

У меня есть секретный сеанс в файле .env, который игнорируется.gitignore при нажатии (может быть, я должен изменить это?)

Журналы Heroku:

2019-10-23T17:22:22.682593+00:00 heroku[router]: at=info method=GET path="/manifest.json" host=apppack-demo.herokuapp.com request_id=bb235945-cb82-4168-91ce-fd19d2109801 fwd="85.240.87.39" dyno=web.1 connect=0ms service=2ms status=304 bytes=237 protocol=https
2019-10-23T17:22:22.793594+00:00 heroku[router]: at=info method=GET path="/logo192.png" host=apppack-demo.herokuapp.com request_id=8a1d2243-45c9-4919-b2ad-3ee8f9148d9c fwd="85.240.87.39" dyno=web.1 connect=0ms service=2ms status=304 bytes=238 protocol=https
2019-10-23T17:22:35.594349+00:00 heroku[router]: at=info method=POST path="/api/signup" host=apppack-demo.herokuapp.com request_id=43907374-4de3-4658-92ce-9188f03e1624 fwd="85.240.87.39" dyno=web.1 connect=0ms service=3ms status=500 bytes=300 protocol=https
2019-10-23T17:22:35.592607+00:00 app[web.1]: POST /api/signup 500 1.206 ms - 74

1 Ответ

0 голосов
/ 23 октября 2019

Вы добавили свой секретный сеанс из файла .env в конфигурацию heroku? Так как ваш .env находится в вашем .gitignore, он не будет передан герою. Ваш код ищет строку из вашего process.env, но в среде heroku его еще нет.

У вас есть два решения

  1. Перейдите в консоль приложения и нажмите на настройки,Когда вы окажетесь там, нажмите на поле с надписью «откройте конфигурационные переменные» и добавьте свой секрет.

или

В корневой директории вашего проекта вы можете установить свои конфигурационные переменные, используя команду
heroku config:set SECRET_SESSION="secretName"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...