Как избежать утечки информации о происхождении пользователя API с помощью CORS? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь понять, как внедрить CORS в службе, где я принимаю учетные данные, используя базовую аутентификацию, и мне нужна помощь в понимании того, на что не видно четкого ответа при просмотре документов. Для справки, самые ясные документы, которые я мог найти, были на MDN, здесь:

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

Отправка учетных данных

Я понимаю, что если я делаю запросы из браузера, подключенного к foo.example, службе, к которой я делаю запросы XHR, потребуется заголовок CORS, например:

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Credentials: true

Это круто, но если я создаю конечную точку API, где я не уверен, от какого источника я ожидаю запросов API, мне не ясно, как я их принимаю.

Я мог бы вести список заголовков примерно так:

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Origin: http://bar.example
Access-Control-Allow-Origin: http://baz.example

Но теперь я передаю информацию о том, кто мои пользователи.

Как мне выставить API, чтобы разрешать подобные запросы в браузере? Я понял, что CORS существует, чтобы избавить меня от необходимости запускать сервер «shim» для пересылки запросов, но не совсем понятно, как мне это сделать.

Спасибо

Chris

...