Grafana:如何通过Auth Proxy实现用户登录?
关于Grafana Auth Proxy模式下的登录说明
首先要明确:Auth Proxy(Web Auth)模式的核心是由反向代理完成用户身份验证,Grafana本身并不提供专门的登录API适配这种模式,而是依赖代理传递的身份头自动识别用户。
你已经通过/api/user接口创建了用户,接下来实现该用户登录,按以下方式操作:
确保Grafana已正确配置Auth Proxy模式,需在
grafana.ini中设置关键配置项:[auth.proxy] enabled = true header_name = X-WEBAUTH-USER header_property = username auto_sign_up = false # 你已手动创建用户,无需自动注册用户访问Grafana时,必须先经过你的反向代理服务:代理完成用户身份校验(比如验证账号密码、令牌)后,在请求头中添加
X-WEBAUTH-USER: somename,再将请求转发给Grafana。Grafana收到请求后,会读取
X-WEBAUTH-USER头的用户名,匹配已创建的用户,自动完成登录,无需用户手动输入账号密码。
如果想用API方式模拟登录流程,不能调用Grafana常规登录接口,而是构造包含X-WEBAUTH-USER头的请求访问任意受保护接口(比如/api/user),Grafana会自动识别用户身份并建立会话。示例curl命令:
curl -H "X-WEBAUTH-USER: somename" http://localhost:3000/api/user
返回当前用户信息即代表已完成登录。
另外,Auth Proxy模式下Grafana会话基于cookie,浏览器环境中代理转发请求后,Grafana会设置会话cookie,后续请求无需再携带X-WEBAUTH-USER头(会话过期除外)。
内容的提问来源于stack exchange,提问作者Omar Ayman
相关产品推荐
相关产品推荐

