TeskaLabs / seacat-auth

SeaCat Auth provides authentication, authorization, identity management, session management and other access control features.
GNU General Public License v3.0
11 stars 6 forks source link

Deprecate Batman for Grafana in favor of OAuth2 #332

Open byewokko opened 7 months ago

byewokko commented 7 months ago

Is your feature request related to a problem? Please describe.

Grafana docker container config example:

 grafana:
  # (...)
  environment:
    # (...)
    GF_AUTH_GENERIC_OAUTH_ENABLED: true
    GF_AUTH_GENERIC_OAUTH_TLS_SKIP_VERIFY_INSECURE: true
    GF_AUTH_GENERIC_OAUTH_AUTO_LOGIN: true
    GF_AUTH_GENERIC_OAUTH_USE_PKCE: false
    GF_AUTH_GENERIC_OAUTH_USE_REFRESH_TOKEN: false
    GF_AUTH_GENERIC_OAUTH_NAME: Seacat Auth
    GF_AUTH_GENERIC_OAUTH_CLIENT_ID: qwe123asd456
    GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET: abc123def546
    GF_AUTH_GENERIC_OAUTH_SCOPES: openid email profile
    GF_AUTH_GENERIC_OAUTH_AUTH_URL: "${PUBLIC_URL}/api/openidconnect/authorize"
    GF_AUTH_GENERIC_OAUTH_TOKEN_URL: "${PUBLIC_URL}/api/openidconnect/token"
    GF_AUTH_GENERIC_OAUTH_API_URL: "${PUBLIC_URL}/api/openidconnect/userinfo"
    GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_STRICT: true
    GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH: contains(resources."*"[*], 'authz:superuser') && 'Admin' || contains(resources."*"[*], 'grafana:edit') && 'Editor' || contains(resources."*"[*], 'grafana:access') && 'Viewer'

Caveats

To do