我正在嘗試使 Keyclock SSO 與嵌入的 webapp 和 Grafana 一起作業。
我已經將 grafana 與 keyclock 整合在一起,我可以使用 keyclock 登錄到 grafana。但是當我將 grafana 作為 inframe 嵌入到 webapp 中,并使用 keyclock 登錄到 webapp 時,錯誤顯示為
login.OAuthLogin(缺少保存狀態)
這是我的燒瓶配置
{
"web": {
"issuer": "http://localhost:8080/realms/internal",
"auth_uri": "http://localhost:8080/realms/internal/protocol/openid-connect/auth",
"client_id": "flask",
"client_secret": "nlY4o3kIrReiwwsYo0FrKFDHIZvfdXd5",
"redirect_uris": [
"http://localhost:5000/*"
],
"token_uri": "http://localhost:8080/realms/internal/protocol/openid-connect/token",
"token_introspection_uri": "http://localhost:8080/auth/realms/internal/protocol/openid-connect/token/introspect",
"userinfo_uri": "http://localhost:8080/realms/internal/protocol/openid-connect/userinfo"
}
}
以下是我的 grafana 配置
[auth.generic_oauth]
enabled = true
name = OAuth
allow_sign_up = true
client_id = grafana
client_secret = CA6OIr8z9v3ZPY4yhPWMSwZWJIPWaRK7
scopes = openid email profile
;email_attribute_name = [email protected]
;email_attribute_path = [email protected]
auth_url = http://localhost:8080/realms/internal/protocol/openid-connect/auth
token_url = http://localhost:8080/realms/internal/protocol/openid-connect/token
api_url = http://localhost:8080/realms/internal/protocol/openid-connect/userinfo
;allowed_domains =
;team_ids =
;allowed_organizations =
role_attribute_path = "contains(roles[*], 'Admin') && 'Admin' || contains(roles[*], 'Editor') && 'Editor' || 'Viewer'"
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
我對 cookie 和嵌入有以下設定
cookie_samesite = lax
allow_embedding = true
我收到一個 500 錯誤的 grafana 身份驗證被重定向

uj5u.com熱心網友回復:
SameSite=Lax:僅在第一方背景關系中發送 cookie(意味著地址欄中的 URL 與 cookie 域匹配)。請勿將其與以下跨域請求一起發送:非 GET、AJAX、iframe、影像請求等。它使用戶免于跨站點請求偽造。
Lax在您的用例中阻止 cookie“傳播”到 iframe 也是如此。在這種情況下對于Grafana 配置None是更好的選擇。cookie_samesite
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/530860.html
標籤:烧瓶单点登录格拉法纳
