v0.1 - макет интерфейса, аутентификация через логин, аккаунт админа, создание партии в 2 этапа, базовые настройки профиля и группы, переключение между группами, статистика
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
"""Dev-провайдер: вход без секрета по нику/идентификатору (только не-production)."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from app.auth.provider import AuthProvider, ExternalIdentity
|
||||
from app.core.errors import ValidationError
|
||||
|
||||
|
||||
class DevStubProvider(AuthProvider):
|
||||
name = "stub"
|
||||
|
||||
def authenticate(self, payload: dict[str, Any]) -> ExternalIdentity:
|
||||
nickname = (payload.get("nickname") or "").strip()
|
||||
external_id = str(payload.get("external_id") or nickname).strip()
|
||||
if not external_id:
|
||||
raise ValidationError("Укажите никнейм для входа.")
|
||||
return ExternalIdentity(
|
||||
provider=self.name,
|
||||
external_id=external_id,
|
||||
suggested_nickname=nickname or external_id,
|
||||
raw=dict(payload),
|
||||
)
|
||||
Reference in New Issue
Block a user