SonarQube 是不是支持 JSONP?

Posted

技术标签:

【中文标题】SonarQube 是不是支持 JSONP?【英文标题】: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 包来执行此操作。

【问题讨论】:

【参考方案1】:

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

有办法远程获取 SonarQube 数据。

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

    替换您的 sonarqube 服务器详细信息,它将为用户获取用户令牌列表的数据。

    如果您使用带有 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浏览器中运行,否则你会遇到同源问题。

以上是关于SonarQube 是不是支持 JSONP?的主要内容,如果未能解决你的问题,请参考以下文章

GitLab 插件 SonarQube MR 分析

无法找到不同版本的 Sonarqube 之间的差异

sonarqube newest version installation

代码质量开发平台之Sonar

SonarQube 测试覆盖率 .NET 5

从 GitLab CI 运行 sonarqube 时出错