from typing import List, Literal, Optional
from pydantic import BaseModel, HttpUrl, field_validator
from pydantic_core.core_schema import ValidationInfo
from pyeudiw.federation.schemas.federation_entity import FederationEntity
from pyeudiw.federation.schemas.openid_credential_verifier import (
OpenIDCredentialVerifier,
)
from pyeudiw.jwk.schemas.public import JwksSchema
from pyeudiw.tools.schema_utils import check_algorithm
[docs]
class EntityConfigurationPayload(BaseModel):
iat: int
exp: int
iss: HttpUrl
sub: HttpUrl
jwks: JwksSchema
metadata: EntityConfigurationMetadataSchema
authority_hints: List[HttpUrl]
[docs]
class EntityStatementPayload(BaseModel, extra="forbid"):
exp: int
iat: int
iss: HttpUrl
sub: HttpUrl
jwks: JwksSchema
source_endpoint: Optional[str] = None
metadata_policy: Optional[dict] = None
metadata: Optional[dict] = None
trust_marks: Optional[list] = None