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.

I1201 — Poskytovatel identity je deklarativní objekt a Google a Facebook jsou dva z nich

Zavést druh identity-provider: schéma JSON, záznam v share/kinds.yaml, vygenerovaný allow-list, adresářový kontrakt pod .ai/repo/identity/providers/ a první dva objekty — google a facebook — každý uvádí svého vydavatele, své endpointy nebo discovery dokument, scopes, o které se žádá, claim nesoucí stabilní subjekt, názvy proměnných prostředí, ve kterých přichází jeho client id a client secret, zobrazovaný název a pořadí v nabídce přihlášení.

PŘIPRAVENO vlna 0 · p0 · profil implementation · běží samostatně

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

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I1201 bude přijato.

Cíl

Zavést druh identity-provider: schéma JSON, záznam v share/kinds.yaml, vygenerovaný allow-list, adresářový kontrakt pod .ai/repo/identity/providers/ a první dva objekty — google a facebook — každý uvádí svého vydavatele, své endpointy nebo discovery dokument, scopes, o které se žádá, claim nesoucí stabilní subjekt, názvy proměnných prostředí, ve kterých přichází jeho client id a client secret, zobrazovaný název a pořadí v nabídce přihlášení.

Proč

Očekává se, že se sada poskytovatelů změní, a provozovatel řekl, že lze škrtnout oba první dva. Poskytovatel, který je souborem, se škrtne smazáním souboru; poskytovatel, který je větví match, se škrtne releasem. Každý další fakt tohoto repozitáře je už deklarován jednou a promítán a identita není výjimkou.

Aktuální stav

Neexistuje druh identity, žádný adresář .ai/repo/identity a nikde ve vrstvě ani ve spustitelném souboru žádný pojem poskytovatele.

Cílový stav

share/kinds.yaml nese druh identity-provider se schématem, allow-list se z tohoto schématu generuje příkazem majordomus generate, .ai/repo/identity/providers/ má svůj řetěz README a své dva objekty a index je hlásí jako kterýkoli jiný druh.

Rozsah

  • .ai/repo/identity
  • share/kinds.yaml
  • share/schemas
  • share/allow
  • share/skeleton

Mimo rozsah

  • Jakýkoli kód v Rustu, který čte objekty, což je I1202
  • Klientské tajemství, id klienta nebo jakákoli hodnota přihlašovacího údaje v jakémkoli souboru repozitáře
  • Pole specifické pro providera, které může použít jen jeden ze dvou objektů

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Schéma vyjadřuje jeden tvar toku a oba objekty proti němu validují bez úniku pro konkrétního poskytovatele
  • Přihlašovací údaje se jmenují, nikdy nenesou: každý objekt uvádí jména proměnných prostředí a nedrží žádnou hodnotu
  • Adresář splňuje rekurzivní doktrínu README a front-matter vrstvy
  • Seznam povolených se generuje ze schématu příkazem majordomus generate, ne psaním ručně
  • majordomus doctor hlásí nový druh i oba objekty bez diagnostiky

Validace

  • majordomus generate --check
  • bin/majordomus doctor
  • bash test/run.sh

Požadované důkazy

  • schema_added
  • objects_validate
  • allow_list_generated

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

Schéma tvarované kolem Googlu bude hned téhož dne potřebovat únikový východ pro Facebook. Schéma je psáno proti toku OpenID Connect a jakékoli pole, které umí vyplnit jen jeden poskytovatel, je důkazem, že tvar je špatný.

Č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/I1201.yaml. Přečtěte jej zpět pomocí majordomus plan show I1201.

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