feature: add oidc login flow
This commit is contained in:
@ -7,6 +7,9 @@ class Settings:
|
||||
"""Application settings loaded from environment."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.auth_mode: str = os.getenv("SKD_AUTH_MODE", "pam").lower()
|
||||
if self.auth_mode not in ("pam", "oidc"):
|
||||
self.auth_mode = "pam"
|
||||
self.allowed_users: List[str] = self._parse_list(os.getenv("SKD_ALLOWED_USERS", ""))
|
||||
self.auth_secret: str = os.getenv("SKD_AUTH_SECRET", "change-me-secret")
|
||||
self.token_ttl_seconds: int = int(os.getenv("SKD_TOKEN_TTL_SECONDS", "900"))
|
||||
@ -15,6 +18,20 @@ class Settings:
|
||||
os.getenv("SKD_AUTH_ALLOWED_GROUPS", "sudo")
|
||||
)
|
||||
self.auth_pam_service: str = os.getenv("SKD_AUTH_PAM_SERVICE", "login")
|
||||
self.oidc_issuer: str = os.getenv("SKD_OIDC_ISSUER", "")
|
||||
self.oidc_client_id: str = os.getenv("SKD_OIDC_CLIENT_ID", "")
|
||||
self.oidc_client_secret: str = os.getenv("SKD_OIDC_CLIENT_SECRET", "")
|
||||
self.oidc_redirect_uri: str = os.getenv(
|
||||
"SKD_OIDC_REDIRECT_URI", "http://localhost:8000/login/oidc/callback"
|
||||
)
|
||||
self.oidc_scopes: str = os.getenv("SKD_OIDC_SCOPES", "openid profile email")
|
||||
self.session_cookie_name: str = os.getenv("SKD_SESSION_COOKIE_NAME", "skd_session")
|
||||
self.session_cookie_secure: bool = (
|
||||
os.getenv("SKD_SESSION_COOKIE_SECURE", "false").lower() == "true"
|
||||
)
|
||||
self.oidc_state_cookie_name: str = os.getenv(
|
||||
"SKD_OIDC_STATE_COOKIE_NAME", "skd_oidc_state"
|
||||
)
|
||||
self.default_countdown: int = int(os.getenv("SKD_DEFAULT_COUNTDOWN", "60"))
|
||||
self.default_sound: bool = os.getenv("SKD_DEFAULT_SOUND", "false").lower() == "true"
|
||||
self.notify_timeout: int = int(os.getenv("SKD_NOTIFY_TIMEOUT", "5"))
|
||||
|
||||
Reference in New Issue
Block a user