Мое веб-приложение, которое входит в мою учетную запись OneNote / OneDrive через OAuth и API OneNote, неожиданно столкнулось с отказом от Chrome Stable 55 (та же проблема в Chrome Canary 58) (под Windows 10) со следующим ответом в консоли:
Refused to execute script from 'https://login.live.com/oauth20_authorize.srf?client_id=<xxx>&callback=jQuery...' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
В моем коде аутентификации PHP не было никаких изменений, который работал хорошо в течение многих месяцев.
Существует одинаковая проблема как с моим локальным сервером IIS, так и с удаленным сервером Apache.
Буду очень признателен за любые предложения.
[РЕДАКТИРОВАТЬ — 3 февраля 2017]Я только что встретил тот же отказ снова. Вот полный URL авторизации (с пустым идентификатором клиента и сокращенным идентификатором jQuery).
Странно то, что в моем коде ничего (адаптировано из примера OneNote API PHP SDK) нет ‘&callback = jQuery ‘в строку запроса:
https://login.live.com/oauth20_authorize.srf?client_id=<XXX>&scope=wl.signin%2Cwl.basic%2Cwl.offline_access%2Coffice.onenote_update&response_type=code&redirect_uri=http%3A%2F%2Fleapmap.com%2Fleapmap%2Faccess.php&display=popup&locale=en&callback=jQuery213...
Казалось бы, проблема заключается в&callback = jQuery … ‘Но как это добавляется в строку запроса ???
Я разыскал источник отказа. На одном конкретном пути через последовательность входа в систему я использовал jQuery для вызова Ajax сценария входа в MS с типом данных «jsonp». Это было то, что добавляло&callback = ‘к строке запроса и нарушению сценария входа в MS.
РЕШЕНИЕ. Избегайте использования jQuery для вызова Ajax в этой ситуации.
Других решений пока нет …