This commit is contained in:
Timothy Jaeryang Baek 2025-11-13 19:42:32 -05:00
parent a4b2dc22c4
commit e2ff2ae252
3 changed files with 14 additions and 10 deletions

View file

@ -493,7 +493,10 @@ OAUTH_SESSION_TOKEN_ENCRYPTION_KEY = os.environ.get(
# SCIM Configuration # SCIM Configuration
#################################### ####################################
SCIM_ENABLED = os.environ.get("SCIM_ENABLED", "False").lower() == "true" ENABLE_SCIM = (
os.environ.get("ENABLE_SCIM", os.environ.get("SCIM_ENABLED", "False")).lower()
== "true"
)
SCIM_TOKEN = os.environ.get("SCIM_TOKEN", "") SCIM_TOKEN = os.environ.get("SCIM_TOKEN", "")
#################################### ####################################

View file

@ -460,7 +460,7 @@ from open_webui.env import (
WEBUI_AUTH_TRUSTED_NAME_HEADER, WEBUI_AUTH_TRUSTED_NAME_HEADER,
WEBUI_AUTH_SIGNOUT_REDIRECT_URL, WEBUI_AUTH_SIGNOUT_REDIRECT_URL,
# SCIM # SCIM
SCIM_ENABLED, ENABLE_SCIM,
SCIM_TOKEN, SCIM_TOKEN,
ENABLE_COMPRESSION_MIDDLEWARE, ENABLE_COMPRESSION_MIDDLEWARE,
ENABLE_WEBSOCKET_SUPPORT, ENABLE_WEBSOCKET_SUPPORT,
@ -716,7 +716,7 @@ app.state.config.ENABLE_DIRECT_CONNECTIONS = ENABLE_DIRECT_CONNECTIONS
# #
######################################## ########################################
app.state.SCIM_ENABLED = SCIM_ENABLED app.state.ENABLE_SCIM = ENABLE_SCIM
app.state.SCIM_TOKEN = SCIM_TOKEN app.state.SCIM_TOKEN = SCIM_TOKEN
######################################## ########################################
@ -1357,7 +1357,7 @@ app.include_router(
app.include_router(utils.router, prefix="/api/v1/utils", tags=["utils"]) app.include_router(utils.router, prefix="/api/v1/utils", tags=["utils"])
# SCIM 2.0 API for identity management # SCIM 2.0 API for identity management
if SCIM_ENABLED: if ENABLE_SCIM:
app.include_router(scim.router, prefix="/api/v1/scim/v2", tags=["scim"]) app.include_router(scim.router, prefix="/api/v1/scim/v2", tags=["scim"])

View file

@ -256,15 +256,16 @@ def get_scim_auth(
) )
# Check if SCIM is enabled # Check if SCIM is enabled
scim_enabled = getattr(request.app.state, "SCIM_ENABLED", False) enable_scim = getattr(request.app.state, "ENABLE_SCIM", False)
log.info( log.info(
f"SCIM auth check - raw SCIM_ENABLED: {scim_enabled}, type: {type(scim_enabled)}" f"SCIM auth check - raw ENABLE_SCIM: {enable_scim}, type: {type(enable_scim)}"
) )
# Handle both PersistentConfig and direct value # Handle both PersistentConfig and direct value
if hasattr(scim_enabled, "value"): if hasattr(enable_scim, "value"):
scim_enabled = scim_enabled.value enable_scim = enable_scim.value
log.info(f"SCIM enabled status after conversion: {scim_enabled}")
if not scim_enabled: if not enable_scim:
raise HTTPException( raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN, status_code=status.HTTP_403_FORBIDDEN,
detail="SCIM is not enabled", detail="SCIM is not enabled",