current_user ноль со стороны реакции, приложение Rails - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть сервер Rails, который работает на порте 3000, и react app, который работает на порте 3001. Проблема: когда я хочу создать новый объект со стороны реакции, current_user пуст. Я могу создать объект со стороны Rails без проблем. Я проверил заголовки запроса для обеих сторон, "HTTP_COOKIE" установлены для обеих сторон. В консоли также нет ошибки. Я также положил skip_before_action :verify_authenticity_token в application_controller. Выходные данные pp request.headers.env.select{|k, _| k =~ /^HTTP_/}, когда я пытаюсь создать объект со стороны реакции, таковы:

{"HTTP_VERSION"=>"HTTP/1.1",
"HTTP_X_FORWARDED_HOST"=>"localhost:3001",
"HTTP_X_FORWARDED_PROTO"=>"http",
"HTTP_X_FORWARDED_PORT"=>"3001",
"HTTP_X_FORWARDED_FOR"=>"127.0.0.1",
"HTTP_COOKIE"=>
"_ALL THE COOKIES ARE SET HERE ", 
"HTTP_CONNECTION"=>"close",
"HTTP_ORIGIN"=>"http://localhost:3000",
"HTTP_X_REQUESTED_WITH"=>"XMLHttpRequest",
"HTTP_X_CSRF_TOKEN"=>"undefined",
"HTTP_ACCEPT_ENCODING"=>"gzip, deflate",
"HTTP_ACCEPT_LANGUAGE"=>"en-US,en;q=0.5",
"HTTP_ACCEPT"=>"*/*",
"HTTP_USER_AGENT"=>
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0",
"HTTP_HOST"=>"localhost:3000"}

Есть идеи, чего мне здесь не хватает?

1 Ответ

0 голосов
/ 17 апреля 2020

Ваш сеанс рельсов отличается от сеанса react. Вам нужно будет внедрить заголовок Authorization и заполнить current_user на before_action.

Проверьте мой ответ здесь: Как использовать почтальон для запроса API, защищенного с помощью devise?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...