Identiteta za vaše aplikacije, na odprtih standardih
Pospremi vas noter.
En račun. Vsaka vrata.
Usher Identity prijavlja ljudi v vaše aplikacije z OpenID Connect in OAuth 2.1: ključi za dostop, kode, prijava z družbenimi omrežji in organizacije, pri čemer je vsako okolje ločeno od vseh drugih.
Začetek je brezplačen. Deluje tudi na vaših strežnikih.
- OpenID Connect
- OAuth 2.1
- PKCE
- WebAuthn
- JWKS
- DPoP
- TOTP
Lobby
Stran za prijavo, ki sprejme, ne zasliši.
Lobby je stran za prijavo, ki jo Usher Identity gosti za vašo aplikacijo. Vedno pove, kam gre oseba, in je videti enako, ne glede na to, katera aplikacija jo je poslala, zato ji ljudje sčasoma zaupajo.
- Vsakič imenuje izdelek, v katerega greste.
- Ključi za dostop, kode po e-pošti in čarobne povezave, gesla pa samo, če jih želite.
- Ista mirna stran, svetla ali temna, v vsakem izdelku.
To je delujoča kopija Lobbyja. Teče na tej strani, ničesar ne pošlje in nikogar ne prijavi.
Standardi, ne vezava na ponudnika
Govori protokole, ki jih vaš sklad že pozna.
Usher Identity je najprej ponudnik OpenID Connect. Uporabite naš SDK, ko vam ustreza, ali katero koli knjižnico OIDC v katerem koli jeziku. Če kdaj odidete, vašim aplikacijam ni treba spremeniti načina, kako prijavljajo ljudi.
- OIDC Core · Discovery
OpenID Connect
Dokument za odkrivanje za vsako okolje, žetoni ID in userinfo. Deluje vsaka certificirana odjemalska knjižnica.
- Samo S256
OAuth 2.1 s PKCE
Avtorizacijska koda s PKCE za vsakega odjemalca, javnega ali zaupnega. Brez implicitnega poteka, brez gesel na končni točki za žetone.
- RS256 · ES256 · EdDSA
JWKS in menjava ključev
Vsako okolje podpisuje s svojimi ključi, objavljenimi na njegovem jwks_uri. Zamenjajte jih, ne da bi prekinili prijavljene ljudi.
- RFC 7662 · RFC 7009
Introspekcija in preklic
Preverite, ali je žeton še veljaven, ali ga takoj končajte. Usher Identity ob vsaki zahtevi preveri svoje seje, zato končanje seje začne veljati takoj.
Odjava, ki jo sproži odvisna stran, in odjava po zalednem kanalu
Odjavite se iz svoje aplikacije ali pa naj Usher Identity obvesti vse aplikacije, ko se seja kjer koli konča.
- RFC 9449
DPoP
Žetone vežite na ključ, ki ga ima odjemalec, tako da ukraden žeton sam po sebi ni uporaben.
- WebAuthn
Ključi za dostop
Polnovredni, ne dodatek. Ljudje se prijavijo s prstnim odtisom, obrazom ali varnostnim ključem in ničesar ni mogoče izvabiti z lažnim predstavljanjem.
- TOTP
Aplikacije za preverjanje pristnosti
Časovne kode iz katere koli aplikacije za preverjanje pristnosti, z rezervnimi kodami. Drugi dejavnik je lahko neobvezen ali obvezen.
Čarobne povezave
En dotik iz nabiralnika. Kratkotrajne, za enkratno uporabo in vezane na okolje, ki jih je poslalo.
Kode po e-pošti
Šest števk, za ljudi, ki se prijavijo v eni napravi, e-pošto pa berejo v drugi.
Prijava z družbenimi omrežji
Google, GitHub, Microsoft in Apple. Račun se poveže šele, ko je njegov e-poštni naslov dokazan.
Organizacije in ekipe
Člani, vloge in povabila za podjetja, ki uporabljajo vašo aplikacijo.
- Kmalu
SAML
Enotna prijava s ponudniki identitete za zaposlene pri vaših strankah.
- Kmalu
SCIM
Dodeljevanje in odvzemanje dostopa iz imenikov vaših strank.
Kako poteka prijava
Pet korakov, vsak od njih standarden.
To je potek OpenID Connect z avtorizacijsko kodo in PKCE, isti potek, ki ga govori vsak resen ponudnik identitete. Pomaknite se skozenj.
- 01
Vaša aplikacija jih pošlje v Lobby.
Ko nekdo izbere Nadaljuj z Usher Identity, ga vaša aplikacija preusmeri na avtorizacijsko končno točko vašega okolja, z izzivom PKCE in vrednostjo state, ki jo bo pozneje preverila.
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
Prijavijo se, na svoj način.
Ključ za dostop, koda po e-pošti, čarobna povezava, račun družbenega omrežja ali geslo: Lobby ponudi samo tisto, kar vaše okolje dovoljuje, in vedno pove, v katero aplikacijo gredo.
Usher IdentityUsher IdentityNadaljevanje v AcmeDobrodošli nazaj.
Uporabi ključ za dostopPošlji mi kodo po e-pošti - 03
Privolijo v deljenje.
Prvič ljudje vidijo, kaj zahteva vaša aplikacija (njihov profil, njihov e-poštni naslov, ohranjanje prijave), in privolijo enkrat.
Acme želi:
- videti vaše ime in sliko
- videti vaš e-poštni naslov
- ohraniti vašo prijavo
PrekličiDovoli - 04
Usher Identity vrne kodo.
Brskalnik se vrne na vaš preusmeritveni URI s kodo za enkratno uporabo, ki velja pet minut, in vrednostjo state, ki ste jo poslali in jo vaša aplikacija preveri.
302 Found Location: https://app.acme.example/callback ?code=SplxlOBeZQQYbYS6WxSbIA &state=k3Jx…
- 05
Vaša aplikacija jo zamenja za žetone.
Vaš strežnik pošlje kodo in preverjevalnik PKCE na končno točko za žetone. Nazaj dobi žeton ID, ki pove, kdo so, žeton za dostop do vašega API-ja in žeton za osvežitev, da ostanejo prijavljeni.
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 }
Izolacija že v zasnovi
Vsako okolje je stavba zase.
Vaše produkcijsko in razvojno okolje ter okolja vseh drugih strank nimajo ničesar pomembnega skupnega. Napaka v enem ne more brati drugega, podpisovati zanj ali se vanj prijaviti.
- Svoja shema Postgres
- Ne stolpec najemnika v skupni tabeli: shema, ustvarjena za okolje, in v njej nič drugega.
- Svoji ključi za podpisovanje
- Žetonov iz enega okolja ni nikoli mogoče preveriti s ključi drugega.
- Svoje zapečatene skrivnosti
- Zapečatene s podatkovnim ključem okolja, ki je sam ovit z glavnim ključem.
- Svoj gostitelj
- Izdajatelji so na drugi domeni kot spletno mesto Usher in Console, s piškotki samo za gostitelja.
usheridentity.com
Spletno mesto, Usher Identity Console, računi Usher Identity
*.usherid.com
En izdajatelj na okolje, na ločeni domeni
Uporabniki, seje in žetoni so v shemi, ustvarjeni za to okolje. Poizvedbe tečejo na tej shemi, nikoli na skupni tabeli s stolpcem najemnika.
Kopiraj zapečateno skrivnost odjemalca Google iz produkcijskega okolja projekta Acme v produkcijsko okolje projekta Northwind.
Za razvijalce
Vaša prva prijava, na tri načine.
Vstavite SDK, ko bo na voljo, uporabite knjižnico OIDC, ki ji že zaupate, ali začnite z branjem dokumenta za odkrivanje. Spodaj je vse isti 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 />
}Zaženite ga sami
Vaši strežniki, vaši ključi.
Uporabljajte Usher Identity kot storitev ali poženite isto platformo na svojih strežnikih, s svojimi ključi in svojo zbirko podatkov.
Docker
Ena datoteka Compose: aplikacije, Postgres, Valkey, robni Caddy in izhodni posredniški strežnik. Vsebniki tečejo brez novih privilegijev in z odvzetimi zmožnostmi.
Ubuntu
Dovolj je navaden strežnik Ubuntu. Caddy zaključuje TLS, skrivnosti pa so datoteke, predane vsebnikom, nikoli vgrajene v slike.
Postgres
Postgres hrani vse, eno shemo na okolje. On in Valkey sta v omrežju brez poti v 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 migrationsCeloten vodnik za lastno gostovanje je na poti. Zgornji ukazi kažejo, kako bo videti.
Pospremite svoje uporabnike noter.
Ustvarite delovni prostor in projekt, in vaše prvo okolje dobi svojega izdajatelja, svoje ključe in svoj Lobby.
Prijavite se enkrat. Dobrodošli povsod.