Closes the caller side of FLEX-WP-0015. FlexAuthHTTPAdapter reads the audience-scoped projected ServiceAccount token from a file on every decision, so hourly rotation needs no restart, and runtime configuration now requires USER_ENGINE_FLEX_AUTH_TOKEN_FILE. A missing, empty, or unreadable token file fails closed as a denial without reaching flex-auth: OSError joins the caught set and an empty read raises. Coverage proves all three unusable-token cases deny before any request is made, and that neither the deny reason nor the decision repr carries the token value. Tenant-authority reads now identify user-engine as actor `user-engine` under the protected tenant.read action, keeping tenant ids opaque and URL-encoded. Contract: docs/flex-auth-caller-identity.md. Full suite: 148 tests, 3 provider-gated skips. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude/rules | ||
| .forgejo/workflows | ||
| docs | ||
| migrations/postgres | ||
| openapi | ||
| registry | ||
| src/user_engine | ||
| tests | ||
| wiki | ||
| workplans | ||
| .custodian-brief.md | ||
| .gitignore | ||
| .repo-classification.yaml | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| Containerfile | ||
| INTENT.md | ||
| LICENSE | ||
| Makefile | ||
| pyproject.toml | ||
| README.md | ||
| SCOPE.md | ||
| WORK-RECORDS.md | ||
Headless multi-application, multi-tenant user management engine.
Development
make test
See docs/development.md, docs/configuration.md, docs/contracts.md,
docs/canon-mapping.md, docs/canon-interface-card.yaml,
docs/evidence-gap-examples.md, docs/family-dataspace-onboarding.md,
docs/netkingdom-registration-onboarding-vision.md,
docs/postgres-durable-store-consumer-requirements.md, docs/examples.md,
docs/registration-identity-and-factor-model.md,
docs/prepared-accounts-and-entitlement-claims.md,
docs/hats-realms-services-assets-access-profiles.md,
docs/onboarding-journeys-and-welcome-protocols.md,
docs/registration-and-access-management-ui.md, docs/scenarios.md,
docs/registration-scenario-and-security-conformance.md,
docs/operability.md, docs/release.md, docs/ui-contracts.md,
docs/identity-domain-naming-decision.md, and docs/final-assessment.md
for implementation boundaries, contracts, canon mappings, examples, and release
readiness.