【问题标题】:SonarQube 6.7 using Sonar Auth Github 1.3 PluginSonarQube 6.7 使用 Sonar Auth Github 1.3 插件
【发布时间】:2018-05-27 16:36:52
【问题描述】:

我正在尝试使用 SonarQube 和 Github 作为身份验证。

当我尝试进行身份验证时,我在日志中收到此错误

[o.s.s.a.AuthenticationError] 在 URI 中找不到提供者密钥

然后我被重定向到

“GET /sessions/未经授权的 HTTP/1.0”200

我在引发错误的 SonarQube code 中找到。

这是Github Sonar Auth Extension的来源

如何在 URI 中放置提供者密钥?

【问题讨论】:

  • 您能否在 SonarQube 设置中检查“授权回调 URL”是否正确设置为“localhost:9000/oauth2/callback”之类的内容?
  • 是的,它已经设置好了。然而,我在 SonarQube 前面使用 Nginx。我实际上是通过查看 SonarQube 源代码并对其进行修改来实现的。
  • 你改变了什么?
  • 一个 hacky 解决方案,但如果 providerKey = null 然后在这一行将其设置为等于 'github' github.com/SonarSource/sonarqube/blob/master/server/…
  • 这个问题很奇怪。我怀疑 Nginx 配置存在问题,因为此问题从未在其他地方报告过。

标签: authentication github sonarqube single-sign-on


【解决方案1】:

请注意 GitHub 身份验证插件要求(来自配置 -> 常规设置 -> GitHub)

  • SonarQube 必须只能通过 HTTPS 公开访问
  • 必须将属性“sonar.core.serverBaseURL”设置为此公共 HTTPS URL
  • 在您的 GitHub 配置文件中,您需要为 其中“授权回调 URL”必须设置为“/oauth2/callback”。

在我的情况下,我遇到了同样的错误(在 URI 中找不到提供程序密钥),并且在我的 sonar.properties 中设置 sonar.core.serverBaseURL 解决了问题

【讨论】:

  • 是的,我按照这些说明操作了两次,但始终无法正常工作。我有另一个同事甚至尝试设置它,所以确保我没有遗漏任何东西,他也遇到了同样的问题。
猜你喜欢
  • 2018-05-29
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 2015-10-23
相关资源
最近更新 更多