Initial curated ITWorx_MCP_Hub source from 368fba691ea8d23403b4d56b53b5ec670d7c5020

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:36:21 +02:00
commit cb5be898ea
663 files changed
+82674

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
"""Machine-principal and project/environment binding checks."""
from __future__ import annotations
from datetime import UTC, datetime
from .errors import ACCESS_DENIED
from .models import AliasRecord, PrincipalLike
class AliasAuthorizer:
def authorize(
self, principal: PrincipalLike, record: AliasRecord, *, now: datetime | None = None
) -> None:
reference = now or datetime.now(UTC)
if principal.kind != "machine_client" or principal.client_id is None:
raise ACCESS_DENIED
if principal.expires_at <= reference:
raise ACCESS_DENIED
for binding in record.bindings:
if (
binding.enabled
and binding.client_id == principal.client_id
and binding.issuer == principal.issuer
and binding.subject == principal.subject
):
if not record.enabled:
raise ACCESS_DENIED
return
raise ACCESS_DENIED