Jump to content
Invision Community

REST API CORS Fixaroo


TacTics
 Share

Recommended Posts

REST API CORS Fixaroo


Этот плагин предназначен для решения очень специфической проблемы, которая возникает, когда вы пытаетесь использовать OAuth2 и JavaScript вместе в приложении браузера.

До настоящего времени это было неосуществимо, поскольку использование заголовка Authorization в запросе заставляло бы браузер отправлять предварительный запрос CORS конечной точке. Этот запрос является запросом OPTIONS, и поскольку он не является GET, PUT, POST или DELETE; По умолчанию IPS обрабатывает его как запрос GET. В результате предварительный запрос не выполняется, и пользователь полагается на какой-либо прокси-сервер для отправки запроса с помощью PHP или другого серверного языка.

Этот плагин расширяет класс диспетчера API и обрабатывает и генерирует действительный ответ предполетного запроса CORS со следующими заголовками:

  • Access-Control-Allow-Methods

Генерируется автоматически из методов вызываемой конечной точки. Если конечная точка поддерживает GET и POST, заголовок разрешенных методов будет содержать GET, POST, но не PUT или DELETE.

  • Access-Control-Allow-Headers

Генерируется автоматически из заголовка запроса «Access-Control-Request-Headers», чтобы разрешить передачу любых заголовков в запросе. Это не самый безопасный метод, но это версия 1.0.0, возможно, я буду реализовывать настройку для определенных заголовков в будущей версии.

  • Access-Control-Allow-Origin

Сгенерировано из настроек плагина (см. Скриншот). Он оценивает заголовок «Origin» (или «Referer») и, если запрос поступает от одного из доменов в белом списке в настройках плагина, он устанавливает значение заголовка «Access-Control-Allow-Origin» как домен запроса. В противном случае заголовок не будет установлен и запрос CORS не будет выполнен.

ПРИМЕЧАНИЕ. Установка «*» в качестве одного из разрешенных доменов разрешит запросы CORS из любого домена. Это создает возможную уязвимость XSS, и я бы не рекомендовал устанавливать эту опцию.


 

Не забывайте ставить лайки computerworld_consultancy_icon.png а так-же не забывайте отметить как лучший ответ - в вашем вопросе.

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.