chore(07): integrate LDAP config into YAML and remove JSON files
This commit is contained in:
@@ -14,6 +14,7 @@ import os
|
||||
import socket
|
||||
import subprocess
|
||||
from .. import models, schemas, database, auth
|
||||
from ..config_loader import get_config
|
||||
from ..logger import log
|
||||
|
||||
router = APIRouter(prefix="/users", tags=["auth"])
|
||||
@@ -22,20 +23,18 @@ pwd_context = CryptContext(schemes=["pbkdf2_sha256"], deprecated="auto")
|
||||
|
||||
|
||||
def get_ldap_config():
|
||||
# Priority 1: Check in DATA_DIR (for Docker production)
|
||||
config_path = os.path.join(database.DATA_DIR, "config", "ldap_config.json")
|
||||
if os.path.exists(config_path):
|
||||
with open(config_path, "r") as f:
|
||||
return json.load(f)
|
||||
|
||||
# Priority 2: Fallback to source-relative config (for local dev)
|
||||
root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
source_config_path = os.path.join(root_dir, "config", "ldap_config.json")
|
||||
if os.path.exists(source_config_path):
|
||||
with open(source_config_path, "r") as f:
|
||||
return json.load(f)
|
||||
|
||||
return {"ldap_enabled": False}
|
||||
config = get_config()
|
||||
auth_config = config.get("auth", {})
|
||||
return {
|
||||
"ldap_enabled": auth_config.get("ldap_enabled", False),
|
||||
"server_uri": auth_config.get("ldap_server"),
|
||||
"base_dn": auth_config.get("ldap_base_dn"),
|
||||
"user_template": auth_config.get("ldap_user_template"),
|
||||
"groups_dn": auth_config.get("ldap_groups_dn"),
|
||||
"use_tls": auth_config.get("ldap_use_tls", True),
|
||||
"ignore_cert": auth_config.get("ldap_ignore_cert", False),
|
||||
"role_mappings": auth_config.get("ldap_role_mappings", [])
|
||||
}
|
||||
|
||||
|
||||
def authenticate_ldap(username, password):
|
||||
|
||||
Reference in New Issue
Block a user