oauth-2.0 Grafana在nginx后面运行,并通过oauth2_proxy进行身份验证

t1rydlwq  于 2022-10-31  发布在  Nginx
关注(0)|答案(1)|浏览(227)

版本

我正在尝试在本地设置以下配置[nginx] <-> [oauth2_proxy] <-> [grafana]

  • nginx侦听80
  • oauth2_proxy侦听4180
  • 监听

尽管通过代理成功地进行了身份验证(从代理和身份提供者的Angular 来看--此处为google),但通过身份验证的用户不会被转到grafana,而是被重定向到登录屏幕。
虽然我们可以使用auth.generic_oauth通过第三方OAuth2提供程序(请参见here)对用户进行身份验证,但我选择这种方法的原因是为了使多个应用程序能够使用公共身份验证后端进行配置。

您预期会发生的情况
如何重现(尽可能最少且精确)

第一个
运行docker-compose up -d --build
然后在浏览器中导航到/localhost/grafana/ =〉用户重定向到oauth2_proxy =〉谷歌登录成功=〉返回到grafana登录屏幕。
看起来我缺少了一些用于传递auth头文件的设置。有人能给我指出正确的方向吗?
前一阵子开了一个类似的问题here,但是对我没用,我已经有GF_AUTH_BASIC_ENABLED=false
还有什么需要我们知道的吗所有3个参与者:grafana、nginx、oauth2_proxy具有干净的日志,没有警告或错误。

环境local

  • Grafana版本:grafana:latest
  • 数据源类型版本(& V):
  • 操作系统Grafana安装在:MacOS
  • 用户操作系统浏览器(& B):Chrome
  • Grafana插件:
  • 其他:nginxoauth2_proxy
cnjp1d6j

cnjp1d6j1#

您需要正确配置标头:

- GF_AUTH_PROXY_HEADER_NAME=X-Email

因此,此配置表示用户名/电子邮件将位于X-Email标头中。
但看起来用户名/电子邮件在不同的标题中,请参见https://github.com/grafana/grafana/issues/27251#issuecomment-682477379:
X-转发-用户:〈我的电子邮件〉
所以它大概应该是:

GF_AUTH_PROXY_HEADERS='Name:X-Forwarded-User Email:X-Forwarded-Email'

相关问题