mirror of
https://github.com/langgenius/dify.git
synced 2026-09-05 16:55:14 +08:00
48 lines
983 B
Python
48 lines
983 B
Python
"""Framework-neutral data contracts for web passport issuance."""
|
|
|
|
from dataclasses import dataclass
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class WebAppRecord:
|
|
site_id: str
|
|
app_id: str
|
|
tenant_id: str
|
|
app_code: str
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class EndUserRecord:
|
|
id: str
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class WebPassportEndUserResolution:
|
|
app_active: bool
|
|
end_user: EndUserRecord | None
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class WebPassportRequest:
|
|
app_code: str
|
|
user_session_id: str | None
|
|
access_token: str | None
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class WebPassportResult:
|
|
access_token: str
|
|
|
|
|
|
class WebAppLoginClaims(BaseModel):
|
|
token_source: str | None = None
|
|
user_id: str | None = None
|
|
end_user_id: str | None = None
|
|
session_id: str | None = None
|
|
auth_type: str | None = None
|
|
exp: int | None = None
|
|
|
|
model_config = ConfigDict(extra="ignore")
|