Siirry sisältöön
Dokumentaatio · Työtilat, myöntäjät ja tunnukset

Käsitteet

Muutama ajatus selittää lähes kaiken Usherissa: missä asiat ovat, kuka myöntää tunnukset, missä ihmiset kirjautuvat ja kuinka kauan kukin tunnus on voimassa.

Työtilat, projektit ja ympäristöt

  • Työtila on tiimisi tai yrityksesi Usher Consolessa. Sen jäsenet ja tarkastusloki kuuluvat sille.
  • Projekti on yksi tuote: verkkosovelluksesi tai kumppaniportaali. Työtilassa voi olla monta projektia.
  • Ympäristö on yksi projektin käynnissä oleva kopio, tavallisesti kehitys (development) ja tuotanto (production). Ympäristöissä ovat ihmiset, sovellukset, avaimet ja asetukset.

Työtila · Acme Oy

Projekti · Verkko

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

Projekti · Kumppaniportaali

  • development · calm-heron-17
  • production · acme-partners
Jokainen ympäristö on oma myöntäjänsä, jolla on omat käyttäjät, avaimet ja Lobby.

Ympäristöt eivät jaa mitään olennaista. Jokaisella on oma Postgres-skeemansa, omat allekirjoitusavaimensa ja omat salaisuutensa, jotka on sinetöity sen omalla tietoavaimella. Kehitysympäristöön rekisteröitynyttä ihmistä ei ole olemassa tuotannossa, eikä yhden ympäristön tunnusta voi koskaan todentaa toisen avaimilla.

Työtilan ylläpitäjä voi poistaa projektin sen Yleiskatsaus-sivun lopusta kirjoitettuaan projektin nimen. Kaikki sen ympäristöt poistuvat kerralla: niiden ihmiset, sovellukset, avaimet ja asetukset sekä jokainen istunto ja tunnus, jonka ne ovat antaneet. Niiden osoitteet lakkaavat vastaamasta, eikä niitä koskaan anneta uudelleen, joten sovellusta, joka yhä luottaa johonkin niistä, ei voi huijata jonkun toisen projektilla.

Myöntäjät

Jokainen ympäristö on oma myöntäjänsä (OpenID Connect issuer) omassa isäntänimessään asiakasverkkotunnuksessa:

Myöntäjä
https://<handle>.usherid.com
  • Tuotantoympäristöillä on itse valitsemasi lyhytnimi (handle): 3–32 pientä kirjainta, numeroa ja yksittäistä yhdysmerkkiä, esimerkiksi yrityksesi nimi. Kerran käytettyä lyhytnimeä ei koskaan anneta uudelleen.
  • Kehitysympäristöt saavat satunnaisen lyhytnimen, kuten wise-otter-42, jota kukaan ei luule brändiksi.

Myöntäjä määräytyy, kun ympäristö luodaan, koska jokainen sen allekirjoittama tunnus nimeää sen iss-kentässä, ja jokainen siihen luottava sovellus tarkistaa tämän arvon.

Asiakasverkkotunnus on eri rekisteröitävä verkkotunnus kuin Usherin oma (usheridentity.com), joten asiakkaan kirjautumissivut eivät ole koskaan samalla sivustolla (same-site) Usher Consolen kanssa, ja evästeet ovat isäntäkohtaisia: selain lähettää ympäristön evästeet vain kyseiselle ympäristölle.

Lobby

Lobby on kirjautumissivu, jota jokainen ympäristö ylläpitää myöntäjänsä osoitteessa. Sovelluksesi lähettää ihmiset sinne; Lobby kirjaa heidät sisään ja lähettää takaisin.

  • Se nimeää aina sovelluksen, johon ihminen on menossa, ”Jatkat palveluun” -merkinnässä.
  • Se tarjoaa vain ne menetelmät, jotka ympäristö sallii: pääsyavaimet, sähköpostikoodit, taikalinkit, sometilit (Google, GitHub, Microsoft, Apple) ja salasanat.
  • Se voi vaatia toisen vaiheen: todennussovelluksen (varakoodeineen) tai pääsyavaimen.
  • Se voi olla avoin kaikille tai rajattu osoitteiden ja verkkotunnusten vieraslistaan.

Se näyttää samalta, mikä tuote ihmisen sinne lähettikin. Se on tarkoituksellista: ihmiset oppivat, miltä oikea Lobby näyttää, ja huomaavat, kun sivu ei ole sellainen.

Usher-tilit

Useimmilla ympäristöillä on omat käyttäjänsä. Usher-tilit ovat erilaisia: yksi tili, jolla ihminen kirjautuu jokaiseen sovellukseen, joka tarjoaa ”Jatka Usherilla” -vaihtoehdon. Ihmiset hallitsevat tiliään osoitteessa account.usheridentity.com.

Tunnukset ja voimassaoloajat

TunnusOletusVoidaan asettaaMihin se on
Valtuutuskoodi5 minuuttiaKiinteäVaihdetaan kerran tunnuksiin. Kertakäyttöinen.
ID-tunnus10 minuuttia1–60 minuuttiaKertoo sovelluksellesi, kuka kirjautui. Ei API-kutsuihin.
Käyttöoikeustunnus10 minuuttia1–60 minuuttiaLähetetään API:llesi, joka tarkistaa sen.
Päivitystunnus30 päivää1–90 päivääHakee uusia käyttöoikeustunnuksia. Vaihtuu joka käytöllä. Vaatii käyttöalueen offline_access.
Koneen käyttöoikeustunnus15 minuuttia1–60 minuuttiaMyöntötyypille client_credentials: palvelimet, joiden takana ei ole ihmistä.
Sähköpostikoodi, taikalinkki10 minuuttiaKiinteäYksi kirjautuminen. Koodilla on kolme yritystä.

Lobbyn istunnoillakin on voimassaoloajat: istunto päättyy 7 päivän käyttämättömyyden jälkeen (1–30) ja viimeistään 30 päivän kuluttua (1–90). Arkaluonteisen asian, kuten sähköpostiosoitteen, muuttaminen vaatii kirjautumisen viimeisten 10 minuutin ajalta.

Allekirjoitusavaimet

Tunnukset allekirjoitetaan oletuksena RS256-algoritmilla; ympäristö voi käyttää sen sijaan ES256- tai EdDSA-algoritmia. Julkiset avaimet julkaistaan ympäristön jwks_uri-osoitteessa, joten kirjastosi hakevat ne ja ottavat uudet avaimet käyttöön, kun avaimet vaihdetaan.

Käyttöalueet

KäyttöalueMitä sovelluksesi saa
openidPakollinen. ID-tunnus, jossa on ihmisen sub.
profileHänen nimensä ja kuvansa.
emailHänen sähköpostiosoitteensa ja tiedon siitä, onko se vahvistettu.
offline_accessPäivitystunnuksen, jotta hän pysyy kirjautuneena.