Я пытался заставить стойки и аксио работать вместе со значением withCredentials: true
. Я пробовал происхождение подстановочного знака, а также происхождение разработки app.lvh.me:3000
. Я пытаюсь поразить API на поддомене api.lvh.me:3000
. Я чувствую, что я что-то упускаю из виду, слишком долго глядя на проблему. Он отлично работает в Safari, но не в Chrome. Любые идеи, как это исправить? Это конфиг стойки-ящика:
config.middleware.insert_before 0, Rack::Cors, debug: true, logger: proc { Rails.logger } do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :post, :put, :patch, :delete, :options, :head], expose: ['Content-Type', 'X-Alternative-Payment-Required'], credentials: true
end
end
Клиент Axios:
this.client = axios.create({
baseURL: process.env.API_ROOT_URL,
timeout: process.env.NODE_ENV === 'development' ? 0 : 35000,
withCredentials: true,
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
});
Подробности запроса:
General:
Request URL: http://api.lvh.me:3000/v1/users/105/notifications
Request Method: GET
Status Code: 401 Unauthorized
Remote Address: 127.0.0.1:3000
Referrer Policy: strict-origin-when-cross-origin
Response Headers:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
Access-Control-Allow-Origin: http://app.lvh.me:3000
Access-Control-Expose-Headers: Content-Type, X-Alternative-Payment-Required
Access-Control-Max-Age: 1728000
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Vary: Origin
WWW-Authenticate: Bearer realm=Application
X-Rack-CORS: hit
X-Request-Id: 484a55cc-e4b8-49d3-b2fd-0e4ed7c7d0a6
X-Runtime: 0.268253
Request Headers:
Accept: application/json
Origin: http://app.lvh.me:3000
Referer: http://app.lvh.me:3000/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36