Refactor SSO authentication to support multiple providers and enhance error handling
This commit is contained in:
parent
862518a45f
commit
c4cef0d9b5
10 changed files with 233 additions and 66 deletions
16
auth/providers/__init__.py
Normal file
16
auth/providers/__init__.py
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
from auth.providers.base import SSOProvider
|
||||
from auth.providers.kit import KITProvider
|
||||
|
||||
# Registry of available SSO providers
|
||||
PROVIDERS: dict[str, type[SSOProvider]] = {
|
||||
"kit": KITProvider,
|
||||
}
|
||||
|
||||
|
||||
def get_provider(name: str) -> type[SSOProvider]:
|
||||
"""Get an SSO provider class by name."""
|
||||
provider = PROVIDERS.get(name.lower())
|
||||
if not provider:
|
||||
available = ", ".join(PROVIDERS.keys())
|
||||
raise ValueError(f"Unknown SSO provider: {name}. Available: {available}")
|
||||
return provider
|
||||
Loading…
Add table
Add a link
Reference in a new issue