auth ist im kasten
This commit is contained in:
1 parent
8498781c85
commit
7f81932fa5
14 files changed
+843
-443
No files matched your search
@@ -18,6 +18,14 @@ Environment Variables:
|
||||
- SQLALCHEMY_DATABASE_URI: Database connection string
|
||||
- SQLALCHEMY_TRACK_MODIFICATIONS: Track modifications (default: False)
|
||||
|
||||
- MOCK_AUTH: Enable mock authentication mode (default: False)
|
||||
Requires DEV_MODE=true. When enabled, uses local mock users instead of Zitadel OIDC.
|
||||
- MOCK_USER_ID: User ID for mock auth (default: 'mock_user_001')
|
||||
- MOCK_USER_ROLE: Role for mock user (default: 'admin')
|
||||
- MOCK_USER_NAME: Name for mock user (default: 'Mock Admin')
|
||||
- MOCK_USER_EMAIL: Email for mock user (default: 'mock@formeleon.local')
|
||||
- MOCK_TENANT_ID: Tenant ID for mock auth (default: 'mock_tenant_001')
|
||||
|
||||
- ZITADEL_ISSUER: OIDC issuer URL for Zitadel
|
||||
- ZITADEL_CLIENT_ID: OIDC client ID
|
||||
- ZITADEL_CLIENT_SECRET: OIDC client secret
|
||||
@@ -55,12 +63,23 @@ class Config:
|
||||
# Development Mode
|
||||
DEV_MODE: bool = os.environ.get('DEV_MODE', 'false').lower() == 'true'
|
||||
|
||||
# Mock Authentication Mode
|
||||
# When MOCK_AUTH=true and DEV_MODE=true, use local mock users instead of Zitadel OIDC
|
||||
MOCK_AUTH: bool = os.environ.get('MOCK_AUTH', 'false').lower() == 'true'
|
||||
|
||||
# Dev User Settings
|
||||
DEV_USER_ROLE: str = os.environ.get('DEV_USER_ROLE', 'admin')
|
||||
DEV_TENANT_ID: str = os.environ.get('DEV_TENANT_ID', 'tenant_dev_123')
|
||||
DEV_USER_NAME: str = os.environ.get('DEV_USER_NAME', 'Dev Admin')
|
||||
DEV_USER_EMAIL: str = os.environ.get('DEV_USER_EMAIL', 'dev@formeleon.local')
|
||||
|
||||
# Mock User Settings (used when MOCK_AUTH is enabled)
|
||||
MOCK_USER_ID: str = os.environ.get('MOCK_USER_ID', 'mock_user_001')
|
||||
MOCK_USER_ROLE: str = os.environ.get('MOCK_USER_ROLE', 'admin')
|
||||
MOCK_USER_NAME: str = os.environ.get('MOCK_USER_NAME', 'Mock Admin')
|
||||
MOCK_USER_EMAIL: str = os.environ.get('MOCK_USER_EMAIL', 'mock@formeleon.local')
|
||||
MOCK_TENANT_ID: str = os.environ.get('MOCK_TENANT_ID', 'mock_tenant_001')
|
||||
|
||||
# Database Configuration
|
||||
if 'SQLALCHEMY_DATABASE_URI' in os.environ:
|
||||
SQLALCHEMY_DATABASE_URI: str = os.environ['SQLALCHEMY_DATABASE_URI']
|
||||
@@ -130,8 +149,15 @@ class Config:
|
||||
:return: True if all required Zitadel settings are present, False otherwise.
|
||||
"""
|
||||
return (self.ZITADEL_ISSUER is not None and
|
||||
self.ZITADEL_CLIENT_ID is not None and
|
||||
self.ZITADEL_CLIENT_SECRET is not None)
|
||||
self.ZITADEL_CLIENT_ID is not None )
|
||||
|
||||
def is_mock_auth_enabled(self) -> bool:
|
||||
"""
|
||||
Check if mock authentication mode is enabled.
|
||||
|
||||
:return: True if both DEV_MODE and MOCK_AUTH are enabled, False otherwise.
|
||||
"""
|
||||
return self.DEV_MODE and self.MOCK_AUTH
|
||||
|
||||
|
||||
class DevelopmentConfig(Config):
|
||||
@@ -140,10 +166,10 @@ class DevelopmentConfig(Config):
|
||||
|
||||
Overrides base configuration with development-friendly settings.
|
||||
"""
|
||||
DEBUG: bool = True
|
||||
DEV_MODE: bool = True
|
||||
SQLALCHEMY_ECHO: bool = True
|
||||
SESSION_COOKIE_SECURE: bool = False
|
||||
# DEBUG: bool = True
|
||||
# DEV_MODE: bool = True
|
||||
# SQLALCHEMY_ECHO: bool = True
|
||||
# SESSION_COOKIE_SECURE: bool = False
|
||||
|
||||
|
||||
class ProductionConfig(Config):
|
||||
|
||||
Reference in new issue
Block a user