Bitbucket OAuth 消费者错误 - 无效 redirect_uri
Bitbucket OAuth Consumer Error - Invalid redirect_uri
我正在尝试设置一个 Bitbucket OAuth 消费者以对名为 SonarQube(linting 工具)的应用程序进行身份验证。按照指南,我似乎已经正确设置了所有内容 - https://github.com/SonarSource/sonar-auth-bitbucket.
回调 URL 设置为 https://myserver/oauth2/callback。当我直接导航到它时,我得到 "You're not authorized to access this page. Please contact the administrator." - 这可能是有效的。我没有任何尾部斜杠或不正确的方案。
需要注意的一件事是我使用的是 nginx 反向代理。当 headers X-Forwarded-For 和 X-Forwarded-Proto 设置不正确时,我确实有时会读到这个问题。请注意,我的故障排除技巧并不是最好的,但是当我使用开发工具并导航到 https://myserver/oauth2/callback 时,我没有看到那些 headers 集。然而当我运行nginx -T | grep proxy_set_header
时,它似乎是正确的。
root@01008bf897b1:/app# nginx -T | grep proxy_set_header
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header Proxy "";
此外,当我在执行 Bitbucket 身份验证时查看 URL 时,我注意到它在 redirect_uri:
中不包含 https
如果我有 https,如下所示,它实际上会提示输入 "Confirm access to your account":
我的反向代理设置不正确 - 代理 headers?可能的 Bitbucket 问题?如有任何帮助,我们将不胜感激!
这与代理无关,而是 SonarQube 中的配置问题。
我最初在我的 docker 容器中将 sonar.core.serverBaseURL=https://mysonarqube.com
设置为环境变量,我认为它没有被应用,因为当我在 UI 中签入时,它是空白的。然后,我将 env 变量更新为 sonar.core.serverBaseURL=notworking
,以便稍后对 it/delete 进行故障排除,但它似乎设置了该值,即使 UI 显示了正确的值。一旦更新它就可以工作(以及我所有其他的身份验证集成,例如 Google 和 GitHub)。
有同样的问题并通过将实际的 Sonar URL 添加到配置中解决。
如果将其留空,则默认值为 localhost
在配置->常规下
sonarqube configuration screen
我正在尝试设置一个 Bitbucket OAuth 消费者以对名为 SonarQube(linting 工具)的应用程序进行身份验证。按照指南,我似乎已经正确设置了所有内容 - https://github.com/SonarSource/sonar-auth-bitbucket.
回调 URL 设置为 https://myserver/oauth2/callback。当我直接导航到它时,我得到 "You're not authorized to access this page. Please contact the administrator." - 这可能是有效的。我没有任何尾部斜杠或不正确的方案。
需要注意的一件事是我使用的是 nginx 反向代理。当 headers X-Forwarded-For 和 X-Forwarded-Proto 设置不正确时,我确实有时会读到这个问题。请注意,我的故障排除技巧并不是最好的,但是当我使用开发工具并导航到 https://myserver/oauth2/callback 时,我没有看到那些 headers 集。然而当我运行nginx -T | grep proxy_set_header
时,它似乎是正确的。
root@01008bf897b1:/app# nginx -T | grep proxy_set_header
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header Proxy "";
此外,当我在执行 Bitbucket 身份验证时查看 URL 时,我注意到它在 redirect_uri:
中不包含 https如果我有 https,如下所示,它实际上会提示输入 "Confirm access to your account":
我的反向代理设置不正确 - 代理 headers?可能的 Bitbucket 问题?如有任何帮助,我们将不胜感激!
这与代理无关,而是 SonarQube 中的配置问题。
我最初在我的 docker 容器中将 sonar.core.serverBaseURL=https://mysonarqube.com
设置为环境变量,我认为它没有被应用,因为当我在 UI 中签入时,它是空白的。然后,我将 env 变量更新为 sonar.core.serverBaseURL=notworking
,以便稍后对 it/delete 进行故障排除,但它似乎设置了该值,即使 UI 显示了正确的值。一旦更新它就可以工作(以及我所有其他的身份验证集成,例如 Google 和 GitHub)。
有同样的问题并通过将实际的 Sonar URL 添加到配置中解决。
如果将其留空,则默认值为 localhost
在配置->常规下
sonarqube configuration screen