Как определить, является ли запрос расширением Chrome - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь настроить 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 , но не слишком уверен, применимо ли это к моей проблеме здесь, хотя, безусловно, актуально.

Мои вопросы сводятся к:

  1. Как лучше всего определить, пришел ли запрос от моего Chrome расширения? Насколько я могу судить, ни Origin, ни Referer не установлены на ajax запросах.

  2. Если нет способа идентифицировать, то как мне сделать сервер защищать и разрешать запросы от расширения Chrome? Используя какой-нибудь токен localstorage?

  3. Почему Chrome devtools показывает пустые 200? Это потому, что сервер не отвечает с Access-Control-Allow-Origin, установленным в заголовках ответа?

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