Я пытаюсь настроить Rails API с расширением Chrome. Вот как мои разрешения выглядят для моего Chrome расширения manifest.json
:
"permissions": [
"http://localhost:3000/"
]
. На данный момент Chrome devtools показывает пустые 200, несмотря на настройку политики CORS, подобной этой:
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
headers: :any,
methods: %i(get post put patch delete options head)
end
end
Странно то, что я могу вызывать одни и те же конечные точки из моего приложения Ember в другом домене (localhost: 4200), что наводит меня на мысль, что это проблема Chrome, но на самом деле я не слишком конечно. Я пытался прочитать некоторые из этих Chromium Security Changelog , но не слишком уверен, применимо ли это к моей проблеме здесь, хотя, безусловно, актуально.
Мои вопросы сводятся к:
Как лучше всего определить, пришел ли запрос от моего Chrome расширения? Насколько я могу судить, ни Origin
, ни Referer
не установлены на ajax
запросах.
Если нет способа идентифицировать, то как мне сделать сервер защищать и разрешать запросы от расширения Chrome? Используя какой-нибудь токен localstorage
?
Почему Chrome devtools показывает пустые 200? Это потому, что сервер не отвечает с Access-Control-Allow-Origin
, установленным в заголовках ответа?