Проблемы с CORS в Azure Search

Мы изменили параметры CORS в нашем существующем поисковом индексе Azure, чтобы "разрешить все источники", но при запросе API-интерфейса из браузера по-прежнему выбрасывается исключение "Нет заголовка" Access-Control-Allow-Origin "...",

Существуют ли какие-то конкретные параметры, которые нам не хватает, или в Azure есть более глобальные параметры CORS, которые перезаписывают параметры в индексе?

Благодарю.

3 ответа

Решение

Я решил это с моей стороны.

Поскольку вы получаете ошибку 403: запрещено, возможно, браузер предполагает, что это проблема с CORS. Однако в моем случае я тоже получал эту ошибку от Почтальона. Моя проблема заключалась в том, что я не добавлял ключ API в URL:

&api-key=YOURAPIKEY

https://NAMEOFYOURSERVICE.search.windows.net/indexes/YOURINDEX/docs?api-version=2015-02-28&search=SEARCHQUERY&api-key=YOURAPIKEY

И чтобы найти свой ключ API, посмотрите на изображение ниже. У меня было 3 ключа, чтобы попытаться найти, что последний работал...

введите описание изображения здесь

RE: принятый ответ, показывающий экран ключей. Есть два типа api-ключей: Admin и Query.

  • Ключи администратора можно указать только в заголовке HTTP-запроса.
  • Ключи запроса предоставляют доступ только для чтения в индексе и могут быть указаны либо в заголовке HTTP-запроса, либо в качестве параметра запроса в вашем URL-адресе.

Третий ключ, который попробовал mogile_oli и который сработал, был ключом запроса.

Раскрытие ключа администратора (первые две попытки mogile_oli) в качестве параметра запроса в URL-адресе представляет угрозу безопасности!

См. Раздел Аутентификация и авторизация в теме REST службы поиска Azure.

Скорее всего, старые настройки CORS кэшировались на стороне клиента. Время жизни по умолчанию составляет 5 минут, если вы не установите maxAgeInSeconds.

По какой-то причине все сработало, когда мы изменили группу ресурсов экземпляра поиска.

Другие вопросы по тегам