|
|
@@ -66,3 +66,43 @@ LOG_TO_FILE=true
|
|
|
# LDAP is governed by its own ldap_enabled toggle and is not affected.
|
|
|
# Leave unset for normal operation.
|
|
|
# BAMBUDDY_LOCAL_LOGIN=true
|
|
|
+
|
|
|
+# --- OIDC provider from the environment (#2593) ------------------------------
|
|
|
+# Defines ONE OIDC provider declaratively, for deployments that are managed by
|
|
|
+# compose files or GitOps and never touch the settings UI. Providers created in
|
|
|
+# the UI are unaffected and keep working alongside this one.
|
|
|
+#
|
|
|
+# Activates only when all four required vars below are set; an empty value
|
|
|
+# counts as unset. The provider is written on startup and re-applied on every
|
|
|
+# boot, so the UI shows it as read-only and the API refuses to change it -- an
|
|
|
+# edit there would be reverted at the next restart anyway.
|
|
|
+#
|
|
|
+# Removing the vars DISABLES the provider rather than deleting it: accounts
|
|
|
+# linked to it would otherwise lose their link permanently. Re-adding the vars
|
|
|
+# enables it again with those links intact.
|
|
|
+#
|
|
|
+# If you lock yourself out, BAMBUDDY_LOCAL_LOGIN=true above is the way back in.
|
|
|
+#
|
|
|
+# Required:
|
|
|
+# BAMBUDDY_OIDC_NAME=Keycloak
|
|
|
+# BAMBUDDY_OIDC_ISSUER_URL=https://sso.example.com/realms/main
|
|
|
+# BAMBUDDY_OIDC_CLIENT_ID=bambuddy
|
|
|
+# BAMBUDDY_OIDC_CLIENT_SECRET=your-client-secret
|
|
|
+#
|
|
|
+# Optional, shown with their defaults:
|
|
|
+# BAMBUDDY_OIDC_SCOPES=openid email profile
|
|
|
+# BAMBUDDY_OIDC_ENABLED=true
|
|
|
+# BAMBUDDY_OIDC_AUTO_CREATE_USERS=false
|
|
|
+# BAMBUDDY_OIDC_AUTO_LINK_EXISTING=false
|
|
|
+# BAMBUDDY_OIDC_EMAIL_CLAIM=email
|
|
|
+# BAMBUDDY_OIDC_REQUIRE_EMAIL_VERIFIED=true
|
|
|
+# BAMBUDDY_OIDC_ICON_URL=
|
|
|
+# BAMBUDDY_OIDC_AUTOLOGIN=false
|
|
|
+#
|
|
|
+# Booleans accept true/1/yes; anything else keeps the default.
|
|
|
+#
|
|
|
+# AUTO_LINK_EXISTING binds an OIDC identity to an existing local account with
|
|
|
+# the same email address. With EMAIL_CLAIM=email it is refused unless
|
|
|
+# REQUIRE_EMAIL_VERIFIED=true, because an identity provider that does not
|
|
|
+# verify addresses would let anyone claim someone else's account. The whole
|
|
|
+# config is then skipped and logged; the app still starts.
|