首页 > 解决方案 > Grafana OAuth 身份验证 - 缺少保存状态

问题描述

我在通过 OAuth 身份验证登录时遇到问题。我是这种身份验证方法的新手。我有 iframe 面板在哪里:

它看起来像这样:

在此处输入图像描述

我遵循指南:并设置应用程序:我设置名称和允许的回调 URL:http: //192.168.11.100 :83/login/generic_oauth 。

然后我跟着这个: ,我的 grafana.ini 看起来像这样:

[auth.generic_oauth]
name = OAuth
enabled = true
allow_sign_up = false
client_id = i copy client_id from oauth
client_secret = i copy client_secret from oauth
scopes = user:email,read:org
email_attribute_name = email:primary
email_attribute_path =
auth_url = http://192.168.11.100/lzatloukal/grafana-generic-oauth/src/oauth/auth.php
token_url = http://192.168.11.100/lzatloukal/grafana-generic-oauth/src/oauth/token.php
api_url = http://192.168.11.100/lzatloukal/grafana-generic-oauth/src/oaut/user.php
team_ids =
allowed_organizations =
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
send_client_credentials_via_post = false

单击使用 OAuth 登录按钮后,我被重定向到此错误:

login.OAuthLogin(缺少保存状态)

在此处输入图像描述

我的 grafana.log 看起来像:

t=2019-11-29T13:54:21+0100 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/d-solo/XKWwL-xWk/elinew-dashboard status=302 remote_addr=192.168.11.21 time_ms=0 size=37 referer=http://192.168.11.100/lzatloukal/test.html
t=2019-11-29T13:54:22+0100 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/login/generic_oauth status=302 remote_addr=192.168.11.21 time_ms=0 size=360 referer=http://192.168.11.100:83/grafana/login
t=2019-11-29T13:54:22+0100 lvl=eror msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/login/generic_oauth status=500 remote_addr=192.168.11.21 time_ms=0 size=1750 referer=http://192.168.11.100:83/grafana/login

有人请帮帮我吗?谢谢你。

标签: angularoauthgrafana

解决方案


回调 URL 必须与您在浏览器中用于访问 Grafana 的完整 HTTP 地址匹配,但前缀路径为 /login/generic_oauth。所以你的问题是你没有将你的应用程序重定向到 /login//login/generic_oauth 在请求 auth_url 的标题中具有相同的状态,所以你可以看到存储库(https://github.com/sadokbani/Grafana- generic_OAuth-NodeJS)更好地了解您的问题


推荐阅读