Identita pre vaše aplikácie, na otvorených štandardoch
Uvedie vás dnu.
Jeden účet. Všetky dvere.
Usher Identity prihlasuje ľudí do vašich aplikácií cez OpenID Connect a OAuth 2.1: prístupové kľúče, kódy, sociálne siete aj organizácie, pričom každé prostredie je oddelené od všetkých ostatných.
Na začiatok zadarmo. Beží aj na vašich vlastných serveroch.
- OpenID Connect
- OAuth 2.1
- PKCE
- WebAuthn
- JWKS
- DPoP
- TOTP
Lobby
Prihlasovacia stránka, ktorá víta, nie vypočúva.
Lobby je prihlasovacia stránka, ktorú Usher Identity hostí pre vašu aplikáciu. Vždy uvedie, kam človek ide, a vyzerá rovnako bez ohľadu na to, ktorá aplikácia ho poslala, takže sa mu ľudia naučia dôverovať.
- Zakaždým uvedie produkt, do ktorého idete.
- Prístupové kľúče, kódy e-mailom a magické odkazy, heslá len vtedy, ak o ne stojíte.
- Tá istá pokojná stránka, svetlá aj tmavá, v každom produkte.
Toto je funkčná kópia Lobby. Beží priamo na tejto stránke, nič neodosiela a nikoho neprihlási.
Štandardy, nie závislosť
Hovorí protokolmi, ktoré vaše technológie už poznajú.
Usher Identity je predovšetkým poskytovateľ OpenID Connect. Použite naše SDK, keď vám vyhovuje, alebo akúkoľvek knižnicu OIDC v akomkoľvek jazyku. Ak raz odídete, vaše aplikácie nemusia meniť spôsob, akým ľudí prihlasujú.
- OIDC Core · Discovery
OpenID Connect
Dokument zisťovania pre každé prostredie, tokeny ID a userinfo. Funguje akákoľvek certifikovaná klientska knižnica.
- len S256
OAuth 2.1 s PKCE
Autorizačný kód s PKCE pre každého klienta, verejného aj dôverného. Žiadny implicitný tok, žiadne heslá na koncovom bode tokenu.
- RS256 · ES256 · EdDSA
JWKS a rotácia kľúčov
Každé prostredie podpisuje vlastnými kľúčmi zverejnenými na jeho jwks_uri. Vymieňajte ich bez výpadku pre prihlásených ľudí.
- RFC 7662 · RFC 7009
Introspekcia a odvolanie
Zistite, či je token stále platný, alebo ho hneď ukončite. Usher Identity pri každej požiadavke kontroluje vlastné relácie, takže ukončenie relácie platí okamžite.
Odhlásenie iniciované RP a cez zadný kanál
Odhláste ľudí zo svojej aplikácie alebo nechajte Usher Identity dať vedieť každej aplikácii, keď sa niekde relácia skončí.
- RFC 9449
DPoP
Naviažte tokeny na kľúč, ktorý má klient, aby bol ukradnutý token sám osebe na nič.
- WebAuthn
Prístupové kľúče
Plnohodnotne, nie ako doplnok. Ľudia sa prihlasujú odtlačkom prsta, tvárou alebo bezpečnostným kľúčom a phishingom nie je čo vylákať.
- TOTP
Overovacie aplikácie
Časové kódy z akejkoľvek overovacej aplikácie so záložnými kódmi. Druhý faktor môže byť voliteľný alebo povinný.
Magické odkazy
Jedno ťuknutie v doručenej pošte. Platia krátko, len raz a sú viazané na prostredie, ktoré ich poslalo.
Kódy e-mailom
Šesť číslic pre ľudí, ktorí sa prihlasujú na jednom zariadení a e-maily čítajú na inom.
Prihlásenie cez sociálne siete
Google, GitHub, Microsoft a Apple. Účet sa prepojí, len keď je jeho e-mail overený.
Organizácie a tímy
Členovia, roly a pozvánky pre firmy, ktoré používajú vašu aplikáciu.
- Už čoskoro
SAML
Jednotné prihlásenie cez firemných poskytovateľov identity vašich zákazníkov.
- Už čoskoro
SCIM
Zriaďovanie a rušenie účtov z adresárov vašich zákazníkov.
Ako prebieha prihlásenie
Päť krokov, každý z nich štandardný.
Toto je tok s autorizačným kódom a PKCE z OpenID Connect, ten istý, ktorým hovorí každý seriózny poskytovateľ identity. Prejdite si ho posúvaním.
- 01
Vaša aplikácia pošle človeka do Lobby.
Keď niekto zvolí Pokračovať cez Usher Identity, vaša aplikácia ho presmeruje na autorizačný koncový bod vášho prostredia s výzvou PKCE a hodnotou state, ktorú neskôr skontroluje.
GET acme.usherid.com/api/auth/oauth2/authorize ?response_type=code &client_id=acme_web &redirect_uri=https://app.acme.example/callback &scope=openid profile email offline_access &state=k3Jx… &code_challenge=E9Mel…cM &code_challenge_method=S256
- 02
Prihlási sa tak, ako mu to vyhovuje.
Prístupový kľúč, kód poslaný e-mailom, magický odkaz, účet sociálnej siete alebo heslo: Lobby ponúkne len to, čo vaše prostredie povoľuje, a vždy uvedie, do ktorej aplikácie človek ide.
Usher IdentityUsher IdentityPokračujete do aplikácie AcmeVitajte späť.
Použiť prístupový kľúčPoslať kód e-mailom - 03
Súhlasí so zdieľaním.
Pri prvom prihlásení ľudia uvidia, o čo vaša aplikácia žiada (profil, e-mail, trvalé prihlásenie), a súhlasia raz.
Aplikácia Acme chce:
- Vidieť vaše meno a fotku
- Vidieť vašu e-mailovú adresu
- Zachovať vaše prihlásenie
ZrušiťPovoliť - 04
Usher Identity vráti kód.
Prehliadač sa vráti na vaše URI presmerovania s jednorazovým kódom platným päť minút a s hodnotou state, ktorú ste poslali a ktorú vaša aplikácia skontroluje.
302 Found Location: https://app.acme.example/callback ?code=SplxlOBeZQQYbYS6WxSbIA &state=k3Jx…
- 05
Vaša aplikácia ho vymení za tokeny.
Váš server pošle kód a overovač PKCE na koncový bod tokenu. Späť dostane token ID, ktorý hovorí, kto človek je, prístupový token pre vaše API a obnovovací token na trvalé prihlásenie.
POST acme.usherid.com/api/auth/oauth2/token grant_type=authorization_code&code=Splx… &code_verifier=dBjftJeZ4CVP… { "token_type": "Bearer", "access_token": "eyJhbGciOiJSUzI1NiIs…", "id_token": "eyJhbGciOiJSUzI1NiIs…", "refresh_token": "8xLOxBtZp8…", "expires_in": 600 }
Izolácia už v návrhu
Každé prostredie je samostatná budova.
Vaše produkčné a vývojové prostredia ani prostredia ostatných zákazníkov nezdieľajú nič podstatné. Chyba v jednom nemôže čítať z iného, podpisovať zaň ani sa doň prihlásiť.
- Vlastná schéma Postgres
- Žiadny stĺpec tenanta v zdieľanej tabuľke, ale schéma vytvorená pre dané prostredie a nič iné v nej.
- Vlastné podpisové kľúče
- Tokeny z jedného prostredia nikdy neprejdú overením kľúčmi iného prostredia.
- Vlastné zapečatené tajné údaje
- Zapečatené vlastným dátovým kľúčom prostredia, ktorý je zase zabalený hlavným kľúčom.
- Vlastný hostiteľ
- Vydavatelia sídlia na inej doméne než web a Console služby Usher, so súbormi cookie len pre daného hostiteľa.
usheridentity.com
Web, Usher Identity Console, účty Usher Identity
*.usherid.com
Jeden vydavateľ na každé prostredie, na samostatnej doméne
Používatelia, relácie a tokeny sú v schéme vytvorenej pre toto prostredie. Dopyty bežia nad touto schémou, nikdy nad zdieľanou tabuľkou so stĺpcom tenanta.
Skopírovať zapečatený tajný kód klienta Google z produkčného prostredia projektu Acme do produkčného prostredia projektu Northwind.
Pre vývojárov
Vaše prvé prihlásenie, tromi spôsobmi.
Keď bude SDK k dispozícii, jednoducho ho pridajte, použite knižnicu OIDC, ktorej už dôverujete, alebo začnite dokumentom zisťovania. Pod tým všetkým je ten istý protokol.
// app/layout.tsx
import { UsherProvider } from '@usher/nextjs'
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
<UsherProvider>{children}</UsherProvider>
</body>
</html>
)
}
// app/page.tsx
import { SignIn, UserButton, currentUser } from '@usher/nextjs'
export default async function Page() {
const user = await currentUser()
return user ? <UserButton /> : <SignIn />
}Prevádzka na vlastných serveroch
Vaše servery, vaše kľúče.
Používajte Usher Identity ako službu alebo prevádzkujte tú istú platformu na vlastných serveroch, s vlastnými kľúčmi a vlastnou databázou.
Docker
Jeden súbor Compose: aplikácie, Postgres, Valkey, okrajový server Caddy a výstupný proxy server. Kontajnery bežia bez možnosti získať nové oprávnenia a s odobranými capabilities.
Ubuntu
Stačí obyčajný server s Ubuntu. Caddy ukončuje TLS a tajné údaje sú súbory odovzdané kontajnerom, nikdy nie zabudované do obrazov.
Postgres
Postgres uchováva všetko, jednu schému na každé prostredie. Postgres aj Valkey sú v sieti bez cesty na internet.
# on an Ubuntu server with Docker Engine and the Compose plugin
bash infra/scripts/setup-env.sh --prod \
--domain usher.example --tenant-domain usherid.example
docker compose -f compose.yaml -f compose.prod.yaml \
--profile core --profile apps --profile edge up -d --wait
pnpm db:migrate # applies the database migrationsÚplný návod na prevádzku na vlastných serveroch je na ceste. Príkazy vyššie naznačujú, ako bude vyzerať.
Uveďte svojich používateľov dnu.
Vytvorte pracovný priestor a projekt a vaše prvé prostredie dostane vlastného vydavateľa, kľúče a Lobby.
Prihláste sa raz. Všade vás privítajú.