@@ -93,9 +93,15 @@ grafana.ini:
9393 role_attribute_path : " contains(roles[*], 'grafana-admin') && 'Admin' || contains(roles[*], 'grafana-editor') && 'Editor' || contains(roles[*], 'grafana-viewer') && 'Viewer'"
9494
9595 # STRICT: if a user has no matching role, their login is REJECTED.
96- # This blocks any netbird -realm user who isn't in a grafana-* group.
96+ # This blocks any argocd -realm user who isn't in a grafana-* group.
9797 role_attribute_strict : true
9898
99+ # Promote OAuth Admins to Grafana Server Admin so they can manage
100+ # all users via Administration → Users and access.
101+ # Without this, OAuth users are only Org Admins and get
102+ # 'org.users:read / org.users:add' permission errors.
103+ allow_assign_grafana_admin : true
104+
99105 # ---- Group-Based Access Control (via groups[] claim) ----
100106 # Only users in one of these groups can log in. Everyone else
101107 # in the netbird realm is completely blocked from Grafana.
@@ -106,9 +112,11 @@ grafana.ini:
106112 # Requires 'offline_access' in scopes (already set above).
107113 use_refresh_token : true
108114
109- # Single Logout: after signing out of Grafana, the user is
110- # also logged out of Keycloak and redirected back to login.
111- signout_redirect_url : ${keycloak_url}/realms/${keycloak_realm}/protocol/openid-connect/logout?post_logout_redirect_uri=https%3A%2F%2Fgrafana.${monitoring_domain}%2Flogin
115+ # Single Logout: signs the user out of Keycloak then redirects
116+ # back to Grafana's login page.
117+ # KC 18+ requires client_id (or id_token_hint) for post_logout_redirect_uri
118+ # to be honoured — without it the user lands on a blank Keycloak page.
119+ signout_redirect_url : ${keycloak_url}/realms/${keycloak_realm}/protocol/openid-connect/logout?client_id=grafana-oauth&post_logout_redirect_uri=https%3A%2F%2Fgrafana.${monitoring_domain}%2Flogin
112120
113121datasources :
114122 datasources.yaml :
0 commit comments