Preskoči na vsebino
Dokumentacija · Delovni prostori, izdajatelji in žetoni

Koncepti

Nekaj zamisli pojasni skoraj vse v Usherju: kje so stvari, kdo izdaja žetone, kje se ljudje prijavljajo in kako dolgo velja kateri žeton.

Delovni prostori, projekti in okolja

  • Delovni prostor je vaša ekipa ali podjetje v Usher Console. Njegovi člani in njegov revizijski dnevnik pripadajo njemu.
  • Projekt je en izdelek: vaša spletna aplikacija ali portal za partnerje. Delovni prostor jih lahko vsebuje veliko.
  • Okolje je ena delujoča kopija projekta, običajno razvojno in produkcijsko. V okoljih so ljudje, aplikacije, ključi in nastavitve.

Delovni prostor · Acme Ltd

Projekt · Splet

  • razvoj · wise-otter-42
  • produkcija · acme

Projekt · Portal za partnerje

  • razvoj · calm-heron-17
  • produkcija · acme-partners
Vsako okolje je samostojen izdajatelj, s svojimi uporabniki, ključi in Lobbyjem.

Okolja nimajo ničesar pomembnega skupnega. Vsako ima svojo shemo Postgres, svoje ključe za podpisovanje in svoje skrivnosti, zapečatene pod lastnim podatkovnim ključem. Oseba, ki se registrira v razvojnem okolju, v produkcijskem ne obstaja, žetona iz enega pa ni nikoli mogoče preveriti s ključi drugega.

Skrbnik delovnega prostora lahko projekt izbriše na koncu njegovega Pregleda, potem ko vnese njegovo ime. Vsa okolja v njem izginejo hkrati: njihovi ljudje, aplikacije, ključi in nastavitve ter vse seje in žetoni, ki so jih izdala. Njihovi naslovi nehajo odgovarjati in se nikoli več ne dodelijo, zato aplikacije, ki kateremu od njih še zaupa, ne more preslepiti projekt nekoga drugega.

Izdajatelji

Vsako okolje je samostojen izdajatelj OpenID Connect, na svojem gostitelju na domeni najemnikov:

Izdajatelj
https://<handle>.usherid.com
  • Produkcijska okolja imajo oznako, ki jo izberete sami: od 3 do 32 malih črk, števk in posameznih vezajev, na primer ime vašega podjetja. Enkrat uporabljena oznaka se nikoli več ne dodeli.
  • Razvojna okolja dobijo naključno oznako, na primer wise-otter-42, ki je nihče ne bo zamenjal za blagovno znamko.

Izdajatelj je določen ob ustvarjanju okolja, ker ga vsak žeton, ki ga podpiše, imenuje v iss, vsaka aplikacija, ki mu zaupa, pa to vrednost preveri.

Domena najemnikov je druga registrirljiva domena kot Usherjeva (usheridentity.com), zato strani za prijavo stranke nikoli niso na istem spletnem mestu kot Usher Console, piškotki pa so samo za gostitelja: brskalnik piškotke okolja pošlje samo temu okolju.

Lobby

Lobby je stran za prijavo, ki jo vsako okolje gosti pri svojem izdajatelju. Vaša aplikacija pošlje ljudi tja; Lobby jih prijavi in pošlje nazaj.

  • Vedno imenuje aplikacijo, v katero gre oseba, v oznaki „Nadaljevanje v“.
  • Ponudi samo načine, ki jih okolje dovoljuje: ključe za dostop, kode po e-pošti, čarobne povezave, račune družbenih omrežij (Google, GitHub, Microsoft, Apple) in gesla.
  • Lahko zahteva drugi dejavnik: aplikacijo za preverjanje pristnosti (z rezervnimi kodami) ali ključ za dostop.
  • Lahko je odprt za vse ali omejen na seznam povabljenih naslovov in domen.

Videti je enako, ne glede na to, kateri izdelek je poslal osebo. To je namerno: ljudje spoznajo, kako je videti pravi Lobby, in opazijo, ko stran ni to.

Računi Usher

Večina okolij ima svoje uporabnike. Računi Usher so drugačni: en račun, ki osebo prijavi v vsako aplikacijo, ki ponuja Nadaljuj z Usher. Ljudje svoj račun upravljajo na account.usheridentity.com.

Žetoni in veljavnost

ŽetonPrivzetoNastavljivo naČemu je namenjen
Avtorizacijska koda5 minutFiksnoEnkrat zamenjana za žetone. Za enkratno uporabo.
Žeton ID10 minutOd 1 do 60 minutVaši aplikaciji pove, kdo se je prijavil. Ni za klicanje API-jev.
Žeton za dostop10 minutOd 1 do 60 minutPošlje se vašemu API-ju, ki ga preveri.
Žeton za osvežitev30 dniOd 1 do 90 dniPridobi nove žetone za dostop. Ob vsaki uporabi se zamenja. Potrebuje offline_access.
Žeton za dostop za stroje15 minutOd 1 do 60 minutZa client_credentials: strežniki, za katerimi ni osebe.
Koda po e-pošti, čarobna povezava10 minutFiksnoEna prijava. Koda dovoli tri poskuse.

Tudi seje v Lobbyju imajo omejeno veljavnost: seja se konča po 7 dneh neuporabe (od 1 do 30) in skupno po 30 dneh (od 1 do 90). Za spremembo nečesa občutljivega, na primer e-poštnega naslova, je potrebna prijava v zadnjih 10 minutah.

Ključi za podpisovanje

Žetoni so privzeto podpisani z RS256; okolje lahko namesto tega uporablja ES256 ali EdDSA. Javni ključi so objavljeni na jwks_uri okolja, zato jih vaše knjižnice pridobijo same in prevzamejo nove, ko se ključi zamenjajo.

Obsegi

ObsegKaj prejme vaša aplikacija
openidObvezno. Žeton ID z osebnim sub.
profileIme in sliko osebe.
emailE-poštni naslov osebe in ali je preverjen.
offline_accessŽeton za osvežitev, da oseba ostane prijavljena.