Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I1205 — Identita se určí jednou, v routeru, a každý povrch ji čte odtud

Určit volajícího jednou, tam kde požadavek vstupuje, a výsledek předat každému povrchu: HTTP API, vykreslování Cockpitu, bezpečnostnímu schématu dokumentu OpenAPI a povrchu MCP. Žádný handler neparsuje cookie a žádný povrch sám nerozhoduje, co znamená chybějící identita.

BLOKOVÁNO vlna 4 · p1 · profil implementation · běží samostatně

Součást web-sign-in — Nasazené povrchy vědí, kdo se ptá, a poskytovatelé identit jsou data.

Blokováno. Tento úkol nemůže začít, dokud není I1204 hotov. Stav je z toho odvozen, ne deklarován.

Cíl

Určit volajícího jednou, tam kde požadavek vstupuje, a výsledek předat každému povrchu: HTTP API, vykreslování Cockpitu, bezpečnostnímu schématu dokumentu OpenAPI a povrchu MCP. Žádný handler neparsuje cookie a žádný povrch sám nerozhoduje, co znamená chybějící identita.

Proč

Autentizace aplikovaná na handler je autentizace, na kterou se zapomene u handleru přidaného příští týden. Jeden bod řešení je také jediný způsob, jak se čtyři povrchy mohou shodnout na tom, kdo je volající.

Aktuální stav

I1204 vydává relace; mimo tok je nic nečte.

Cílový stav

Požadavek nese vyřešeného volajícího — anonymního nebo identifikovaného — od routeru dál a nelze napsat handler, který by řešení přeskočil.

Rozsah

  • apps/majordomus-cli/src/http
  • apps/majordomus-cli/src/identity
  • apps/majordomus-cli/src/cockpit
  • apps/majordomus-cli/src/mcp
  • apps/majordomus-cli/tests

Mimo rozsah

  • Role, skupiny nebo oprávnění nad rámec identifikovaného a anonymního
  • Druhé řešení v jakémkoli povrchu

Závislosti

Co na tom čeká

Kritéria přijetí

  • Přesně jedno místo čte cookie relace, doloženo testem, který selže, když se objeví druhé
  • Cockpit ukazuje, kdo je přihlášen, a nabízí odhlášení, z rozpoznaného volajícího, ne z vlastního čtení
  • Povrch MCP dostává stejného volajícího jako HTTP API pro totéž spojení
  • Anonymní volající je hodnota, ne absence, takže žádný povrch nemůže zapomenout ji ošetřit

Validace

  • cargo test --workspace --all-features
  • bash test/run.sh

Požadované důkazy

  • single_resolution_point
  • surfaces_agree

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Riziko

Cockpit je povrch, který nejspíš znovu přečte cookie pro pohodlí. Test, který druhé čtení zakazuje, ho udržuje poctivým.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I1205.yaml. Zpětně ho přečtete pomocí majordomus plan show I1205.

Prohledává názvy a popisy všech stránek, které tento web publikuje.