无法登录OneNote API - login.live.com脚本拒绝执行

时间:2017-01-22 01:51:38

标签: php google-chrome onenote-api

通过OAuth和OneNote API登录我的OneNote / OneDrive帐户的我的webapp突然遭到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身份验证代码都没有变化,这些代码已经运行了好几个月。

我的localhost IIS服务器和远程Apache服务器都存在同样的问题。

我非常感谢任何建议。

[编辑 - 2017年2月3日]

我刚刚再次遭到同样的拒绝。这是完整的授权URL(client_id被清空,jQuery id缩短了。 奇怪的是,我的代码中没有任何内容(改编自OneNote API PHP SDK示例)添加了&#39;&amp; callback = jQuery&#39;到查询字符串:

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...

问题似乎是&#39;&amp; callback = jQuery ......&#39;但它是如何附加到查询字符串???

1 个答案:

答案 0 :(得分:0)

我已经找到了拒绝的来源。在通过登录序列的一个特定路径上,我使用jQuery对MS登录脚本进行Ajax调用,使用“jsonp”数据类型。这就是将'&amp; callback ='附加到查询字符串并扰乱MS登录脚本的原因。 解决方案:在这种情况下,避免使用jQuery进行Ajax调用。