【问题标题】:current_user is nil from react side , Rails applicationcurrent_user 从反应方面为零,Rails 应用程序
【发布时间】:2020-04-17 12:12:36
【问题描述】:

我有一个在端口 3000 上运行的 Rails 服务器和一个在端口 3001 上运行的 react app。问题是: 当我想从反应端创建一个新对象时,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"}

知道我在这里缺少什么吗?

【问题讨论】:

    标签: ruby-on-rails reactjs


    【解决方案1】:

    您的 rails 会话与 react 会话不同。您需要实现Authorization 标头并在before_action 上填写您的current_user

    在这里查看我的回复:How to use postman to request an API that is protected with devise?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多