【问题标题】:Does SonarQube support JSONP?SonarQube 是否支持 JSONP?
【发布时间】:2017-02-13 15:57:08
【问题描述】:

我正在开发一个无法从 SonarQube 服务器检索数据的 WebApp,因为浏览器会抱怨 No 'Access-Control-Allow-Origin' header is present on the requested resource。搜索克服此错误的推荐方法是使用JSONPCORS。我找不到有关 JSONP 回调的文档。这个功能是 SonarQube 服务器的一部分吗?

我找到了解决这个问题的替代方案

使用 reverse proxy 处理 API 请求并使用 CORS 标头提供服务。 使用cors-anywhere 包来执行此操作。

【问题讨论】:

    标签: node.js sonarqube jsonp


    【解决方案1】:

    注意:对于以下方式,您将需要 CROSS ORIGIN POLICTY ALLOW

    有办法远程获取 SonarQube 数据。

    1. 您可以尝试通过 CURL 来感染数据。 例如 curl -u MY_LOGIN:MY_PASSWORD https://sonarqube.com/api/user_tokens/search

      • 替换您的 sonarqube 服务器详细信息,它将为用户获取用户令牌列表的数据。
    2. 如果您使用带有 Angular js 的节点服务器,您可以编写具有基本身份验证的模块,将访问您想要的 api。 参考文档:https://docs.sonarqube.org/pages/viewpage.action?pageId=2752802 例如 - 获取系统 api 上的项目列表是 http://yourservername/api/resources

    希望对你有所帮助。

    【讨论】:

    • 这不是要回答我原来的问题“SQ 支持 JSONP 吗?”这是一个主要关于 SQ 内部和部分关于 CORS 的问题(我已经通过问题中提到的 hack 解决了这个问题)。
    【解决方案2】:

    如果您想从远程 SonarQube 服务器获取数据并在 Web 应用程序中提供数据,目前唯一的方法是在后端获取数据,然后将结果传递给您的前端。

    【讨论】:

    • 您能详细解释一下吗?如果我在 Node 中运行 Angular 应用程序,您的意思是 Node 必须从 Web API 获取 json 吗?
    • 我的意思是WS调用的代码不能在Web浏览器中运行,否则你会遇到同源问题。
    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 2017-09-30
    • 2016-03-01
    • 2015-10-18
    • 1970-01-01
    • 2016-09-03
    • 2017-10-31
    • 2018-03-22
    相关资源
    最近更新 更多