ajax – 在Azure网站中启用Access-Control-Allow-Credentials标
我们最近将一个API应用程序从Azure云服务迁移到Azure网站,一些客户端仍在使用我们的旧协议进行身份验证,该协议使用cookie(而不是通常的授权:承载HTTP标头).我们需要支持此身份验证协议一段时间,因为客户端无法立即迁移.
为了支持针对API的跨源ajax请求中的cookie,客户端需要在XMLHttpRequest中将withCredentials设置为true,并且服务器需要使用Access-Control-Allow-Credentials头以及任何CORS进行响应请求. 我们面临的问题是Azure网站自行管理CORS,并使用自己的配置(仅限于允许的来源列表)进行响应,这不允许设置此标头…从而打破了申请我们所有的Ajax客户端! 有没有办法(临时)在响应中添加此标头?
我们终于设法了解Azure Apps CORS中间件的行为.要禁用它,您必须清除Web应用程序的CORS刀片中的每个允许的原始条目(包括*).然后,您可以自己管理CORS,使用Web Api 2功能或使用web.config.
该信息甚至可在the documentation中获得:
因此,最终的答案是:如果您的应用程序不需要非常具体的CORS管理,则可以使用Azure App Service CORS.否则,您将需要自己处理它并禁用Web应用程序中的所有CORS配置. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |