Preskočiť na obsah
Dokumentácia · Pracovné priestory, vydavatelia a tokeny

Koncepty

Niekoľko myšlienok vysvetľuje takmer všetko v službe Usher: kde čo je, kto vydáva tokeny, kde sa ľudia prihlasujú a ako dlho ktorý token platí.

Pracovné priestory, projekty a prostredia

  • Pracovný priestor je váš tím alebo firma v Usher Console. Patria k nemu jeho členovia a jeho denník auditu.
  • Projekt je jeden produkt: vaša webová aplikácia alebo portál pre partnerov. Pracovný priestor ich môže obsahovať veľa.
  • Prostredie je jedna bežiaca kópia projektu, zvyčajne development a production. V prostrediach sú ľudia, aplikácie, kľúče a nastavenia.

Pracovný priestor · Acme Ltd

Projekt · Web

  • development · wise-otter-42
  • production · acme

Projekt · Portál pre partnerov

  • development · calm-heron-17
  • production · acme-partners
Každé prostredie je samostatný vydavateľ s vlastnými používateľmi, kľúčmi a Lobby.

Prostredia nezdieľajú nič podstatné. Každé má vlastnú schému Postgres, vlastné podpisové kľúče a vlastné tajné údaje zapečatené vlastným dátovým kľúčom. Človek, ktorý sa zaregistruje vo vývojovom prostredí, v produkčnom neexistuje a token z jedného sa nikdy nedá overiť kľúčmi druhého.

Správca pracovného priestoru môže projekt odstrániť na konci jeho stránky Prehľad, keď napíše jeho názov. Všetky prostredia v ňom zmiznú naraz: ich ľudia, aplikácie, kľúče a nastavenia aj každá relácia a každý token, ktoré vydali. Ich adresy prestanú odpovedať a už sa nikdy nepridelia znova, takže aplikáciu, ktorá niektorej z nich stále dôveruje, nemôže oklamať projekt niekoho iného.

Vydavatelia

Každé prostredie je samostatný vydavateľ OpenID Connect na vlastnom hostiteľovi v doméne tenantov:

Vydavateľ
https://<handle>.usherid.com
  • Produkčné prostredia majú označenie, ktoré si zvolíte: 3 až 32 malých písmen, číslic a jednotlivých spojovníkov, napríklad názov vašej firmy. Raz použité označenie sa už nikdy nepridelí znova.
  • Vývojové prostredia dostanú náhodné označenie, napríklad wise-otter-42, ktoré si nikto nesplete so značkou.

Vydavateľ sa určí pri vytvorení prostredia a už sa nemení, pretože ho uvádza každý token, ktorý podpíše, v iss a každá aplikácia, ktorá mu dôveruje, túto hodnotu kontroluje.

Doména tenantov je iná registrovateľná doména než vlastná doména služby Usher (usheridentity.com), takže prihlasovacie stránky zákazníka nikdy nie sú na rovnakom webe (same-site) ako Usher Console a súbory cookie platia len pre daného hostiteľa: prehliadač pošle súbory cookie prostredia len tomuto prostrediu.

Lobby

Lobby je prihlasovacia stránka, ktorú každé prostredie hostí u svojho vydavateľa. Vaša aplikácia tam ľudí pošle; Lobby ich prihlási a pošle späť.

  • Vždy uvedie aplikáciu, do ktorej človek ide, v štítku „Pokračujete do aplikácie“.
  • Ponúka len metódy, ktoré prostredie povoľuje: prístupové kľúče, kódy poslané e-mailom, magické odkazy, účty sociálnych sietí (Google, GitHub, Microsoft, Apple) a heslá.
  • Môže vyžadovať druhý faktor: overovaciu aplikáciu (so záložnými kódmi) alebo prístupový kľúč.
  • Môže byť otvorené pre každého alebo obmedzené na zoznam hostí s adresami a doménami.

Vyzerá rovnako bez ohľadu na to, ktorý produkt človeka poslal. Je to zámer: ľudia sa naučia, ako skutočné Lobby vyzerá, a všimnú si, keď stránka Lobby nie je.

Účty Usher

Väčšina prostredí má vlastných používateľov. Účty Usher sú iné: jeden účet, ktorý človeka prihlási do každej aplikácie, ktorá ponúka tlačidlo Pokračovať cez Usher. Ľudia si svoj účet spravujú na adrese account.usheridentity.com.

Tokeny a ich platnosť

TokenPredvoleneDá sa nastaviť naNa čo slúži
Autorizačný kód5 minútPevneRaz sa vymení za tokeny. Na jedno použitie.
Token ID10 minút1 až 60 minútPovie vašej aplikácii, kto sa prihlásil. Nie na volanie API.
Prístupový token10 minút1 až 60 minútPosiela sa vášmu API, ktoré ho overí.
Obnovovací token30 dní1 až 90 dníZískava nové prístupové tokeny. Pri každom použití sa vymení. Vyžaduje offline_access.
Strojový prístupový token15 minút1 až 60 minútPre client_credentials: servery, za ktorými nestojí žiadny človek.
Kód poslaný e-mailom, magický odkaz10 minútPevneJedno prihlásenie. Kód umožňuje tri pokusy.

Aj relácie v Lobby majú svoju platnosť: relácia sa skončí po 7 dňoch nečinnosti (1 až 30) a celkovo po 30 dňoch (1 až 90). Zmena citlivého údaja, napríklad e-mailovej adresy, vyžaduje prihlásenie za posledných 10 minút.

Podpisové kľúče

Tokeny sa predvolene podpisujú algoritmom RS256; prostredie môže namiesto neho použiť ES256 alebo EdDSA. Verejné kľúče sú zverejnené na jwks_uri prostredia, takže si ich vaše knižnice stiahnu a pri výmene kľúčov načítajú aj nové.

Rozsahy

RozsahČo vaša aplikácia dostane
openidPovinný. Token ID so sub daného človeka.
profileMeno a obrázok.
emailE-mailovú adresu a informáciu, či je overená.
offline_accessObnovovací token, aby prihlásenie zostalo zachované.