如http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-dive中所述,我创建了一个 SPA 并将 Azure AD 用于用户存储和 ADAL-JavaScript 库/与我的 Angular js 代码集成。它成功地完成了身份验证流程,但是当我调用使用 APIGEE 公开的第三方 API 时,我收到以下错误消息:
加载资源失败:服务器响应状态为 502 (Bad Gateway)
XMLHttpRequest 无法加载 http://webapiexposedusingapigee. 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://mywebsite.in ”。响应具有 HTTP 状态代码 502。
当我签入 Fiddler 时,我得到了以下错误字符串。 “faultstring=收到没有允许标头的 405 响应”
并警告为:
跨域请求被阻止:同源策略不允许在 http://test.apigee.net/v1/selectop/myapi 读取远程资源。这可以通过将资源移动到同一域或启用 CORS 来解决。
我在 APIGEE 上添加了以下标题:
<Header name="Access-Control-Allow-Origin">*</Header>
<Header name="Access-Control-Allow-Credentials">true</Header>
<Header name="Access-Control-Allow-Headers">Origin, X-Requested-With, Content-Type, Accept</Header>
<Header name="Access-Control-Max-Age">3628800</Header>
<Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE, OPTION</Header>
对此的任何帮助表示赞赏。
谢谢。