Ugrás a tartalomhoz
Dokumentáció · Munkaterületek, kibocsátók és tokenek

Alapfogalmak

Néhány fogalom szinte mindent megmagyaráz az Usherben: hol élnek a dolgok, ki adja ki a tokeneket, hol jelentkeznek be az emberek, és meddig érvényesek az egyes tokenek.

Munkaterületek, projektek és környezetek

  • A munkaterület a csapatod vagy a céged az Usher Console-ban. A tagjai és az auditnaplója hozzá tartoznak.
  • A projekt egy termék: a webappod vagy egy partnerportál. Egy munkaterületen sok projekt lehet.
  • A környezet egy projekt egy futó példánya, általában egy fejlesztői és egy éles. A környezetekben élnek az emberek, az alkalmazások, a kulcsok és a beállítások.

Munkaterület · Acme Ltd

Projekt · Web

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

Projekt · Partnerportál

  • development · calm-heron-17
  • production · acme-partners
Minden környezet önálló kibocsátó, saját felhasználókkal, kulcsokkal és Lobbyval.

A környezetek semmi lényegeset nem osztanak meg egymással. Mindegyiknek saját Postgres-sémája, saját aláírókulcsai és saját, a saját adatkulcsával lepecsételt titkai vannak. Aki a fejlesztői környezetben regisztrál, az az élesben nem létezik, és az egyik környezet tokenje soha nem ellenőrizhető a másik kulcsaival.

A munkaterület adminisztrátora a projekt Áttekintés oldalának végén törölheti a projektet, miután beírta a nevét. A benne lévő összes környezet egyszerre megszűnik: az embereik, alkalmazásaik, kulcsaik és beállításaik, valamint minden munkamenet és token, amelyet kiadtak. A címeik többé nem válaszolnak, és soha nem adjuk ki őket újra, így egy app, amely még megbízik valamelyikükben, nem téveszthető meg valaki más projektjével.

Kibocsátók

Minden környezet önálló OpenID Connect-kibocsátó, saját hoszttal a bérlői domainen:

Kibocsátó
https://<handle>.usherid.com
  • Az éles környezetek rövid nevét te választod: 3–32 kisbetű, számjegy és egyszeres kötőjel, például a céged neve. Egy egyszer már használt rövid nevet soha nem adunk ki újra.
  • A fejlesztői környezetek véletlenszerű rövid nevet kapnak, például wise-otter-42, amelyet senki sem téveszt össze egy márkával.

A kibocsátó a környezet létrehozásakor rögzül, mert minden általa aláírt token megnevezi az iss mezőben, és minden app, amely megbízik benne, ellenőrzi ezt az értéket.

A bérlői domain más regisztrálható domain, mint az Usher sajátja (usheridentity.com), így egy ügyfél bejelentkezési oldalai soha nem azonos webhelyűek (same-site) az Usher Console-lal, a cookie-k pedig csak a saját hosztjukra érvényesek: a böngésző egy környezet cookie-jait csak annak a környezetnek küldi el.

A Lobby

A Lobby az a bejelentkezési oldal, amelyet minden környezet a saját kibocsátójánál hosztol. Az appod oda küldi az embereket; a Lobby bejelentkezteti, majd visszaküldi őket.

  • Mindig megnevezi az appot, ahová az illető tart, a „Folytatás ide:” címkén.
  • Csak azokat a módszereket kínálja, amelyeket a környezet engedélyez: jelkulcsok, e-mailben küldött kódok, bejelentkezési linkek, közösségi fiókok (Google, GitHub, Microsoft, Apple) és jelszavak.
  • Megkövetelhet második tényezőt: hitelesítő appot (tartalékkódokkal) vagy jelkulcsot.
  • Lehet bárki számára nyitott, vagy címek és domainek vendéglistájára korlátozott.

Ugyanúgy néz ki, bármelyik termék küldte is oda az illetőt. Ez szándékos: az emberek megtanulják, hogyan néz ki egy valódi Lobby, és észreveszik, ha egy oldal nem az.

Usher-fiókok

A legtöbb környezetnek saját felhasználói vannak. Az Usher-fiókok mások: egyetlen fiók, amely minden olyan appba bejelentkezteti az embereket, amely felkínálja a Folytatás az Usherrel lehetőséget. Az emberek a saját fiókjukat itt kezelik: account.usheridentity.com.

Tokenek és érvényességi idők

TokenAlapértelmezésBeállíthatóMire való
Engedélyezési kód5 percRögzítettEgyszer cserélhető tokenekre. Egyszer használható.
ID-token10 perc1–60 percMegmondja az appodnak, ki jelentkezett be. Nem API-hívásokhoz való.
Hozzáférési token10 perc1–60 percAz API-dnak küldik, amely ellenőrzi.
Frissítési token30 nap1–90 napÚj hozzáférési tokeneket szerez. Minden használatkor lecserélődik. Az offline_access hatókör kell hozzá.
Gépi hozzáférési token15 perc1–60 percA client_credentials engedélyezési típushoz: olyan szervereknek, amelyek mögött nem áll személy.
E-mailben küldött kód, bejelentkezési link10 percRögzítettEgyetlen bejelentkezéshez. Egy kóddal háromszor lehet próbálkozni.

A Lobbyban a munkameneteknek is van érvényességi idejük: egy munkamenet 7 nap használaton kívüli idő után ér véget (1–30), és összesen 30 nap után (1–90). Érzékeny módosításokhoz, például az e-mail-cím megváltoztatásához, az elmúlt 10 percen belüli bejelentkezés kell.

Aláírókulcsok

A tokeneket alapértelmezés szerint RS256 algoritmussal írjuk alá; egy környezet használhat helyette ES256 vagy EdDSA algoritmust is. A nyilvános kulcsok a környezet jwks_uri címén érhetők el, így a könyvtáraid onnan töltik le őket, és kulcscserekor az újakat is felveszik.

Hatókörök

HatókörAmit az appod megkap
openidKötelező. Egy ID-token az illető sub azonosítójával.
profileA neve és a fotója.
emailAz e-mail-címe, és hogy igazolt-e.
offline_accessEgy frissítési token, hogy bejelentkezve maradjon.