Gå til indholdet
Dokumentation · Login på din egen side

Login på din egen side

De fleste apps sender folk til deres miljøs Lobby for at logge ind. Vil du hellere holde dem på din egen side, logger <SignIn /> fra @usher/react dem ind lige der og afslutter derefter med OpenID Connect præcis som før: din server får stadig sine tokens fra Usher, og ingen adgangskode eller token passerer gennem din side.

Tillad din apps origin

Åbn miljøet i Usher Console, vælg derefter Login → Indlejret login, og tilføj din apps origin, f.eks. https://app.example.com. Kun origins på listen må bruge miljøets Frontend API, og kun til at logge ind.

Tilføj komponenten

TSX
import { SignIn } from '@usher/react'

export function SignInPage() {
  return <SignIn frontendApi="https://login.example.com" returnTo="/dashboard" />
}

Den ligger inde i den UsherProvider, som @usher/nextjs allerede bruger. frontendApi er dit miljøs udsteder.

Det sker der

  • E-mail først, derefter en adgangskode eller en kode via e-mail og så det andet trin, hvis personen har et. Login med sociale konti og Fortsæt med Usher går til udbyderen og kommer tilbage til din app.
  • Derefter OpenID Connect. Når personen er logget ind i dit miljø, sender komponenten browseren til din apps /auth/sign-in, som går direkte gennem Usher og tilbage med en kode. Første gang beder Usher personen om at give din app adgang.
  • Bot-beskyttelse virker som i Lobbyen: når Usher beder om et proof of work, udfører komponenten det.
  • Alt andet (adgangsnøgler, virksomhedslogin, oprettelse af en konto) er et link til din Lobby.

Brug dit eget domæne i produktion

Komponenten gemmer Ushers session i dit miljøs cookies. I produktion skal de være førstepartscookies: giv miljøet dit eget domæne på samme site som din app (login.example.com til app.example.com). I udvikling sender et miljø, der tillader indlejring, sine cookies på tværs af sites, hvilket Chrome accepterer. Hvor en browser ikke vil beholde dem, overlader komponenten i stedet opgaven til din Lobby.