【发布时间】:2018-11-14 05:10:13
【问题描述】:
我正在编写 Outlook 加载项,并尝试向 Jira 发出获取请求。但是,我遇到了我认为是 CORS 的问题,我不确定如何解决它。
错误信息说:
“[阻止]
https://localhost:3000/index.html?_host_Info=Outlook$Mac$16.02$en-US的页面不允许显示来自http://mysite.atlassian.net/rest/api/2/myself的不安全内容。”
有没有办法从 Outlook 加载项发出获取请求以绕过 CORS?
我的加载项只是一个基于反应的前端应用程序,获取请求需要基本身份验证,这在邮递员中可以正常工作(这当然在浏览器之外,但 Outlook 加载项在浏览器组件中运行)。
【问题讨论】:
-
错误提示您正在尝试访问不安全的位置“mysite.atlassian.net/rest/api/2/myself”。所有位置都必须是安全的 (https://),Office 加载项才能进行呼叫。为您的休息服务设置 SSL 证书。
-
谢谢斯拉瓦,很好的收获。我正在对代码进行更改,并从 url 的 https 中删除了 s。当我重新添加 s 时,我得到一个直接的 cors 错误:Fetch API 无法加载 mysite.atlassian.net/rest/api/2/myself。 Access-Control-Allow-Origin 不允许来源localhost:3000。但正如我所说,我正在向 Jira Rest API 发出 fetch 请求,因此我无法对服务器进行任何更改。
-
好的,现在错误是 CORS。这取决于服务器是否允许和拒绝 CORS 请求。你能控制服务器吗?您可以更改某些内容以允许某些 URL 发出 CORS 请求吗?如果没有,您应该在创建自己的服务时寻找解决方案,该服务将允许来自您的加载项和来自此服务调用服务器到服务器的请求从原始休息点获取信息。
-
我将使用 Jira Rest API 研究 OAuth,如果失败,我想我将不得不按照您的建议创建代理服务器。
标签: office-js outlook-web-addins