Preskoči na vsebino
Dokumentacija · Prijava na vaši strani

Prijava na vaši strani

Večina aplikacij pošlje ljudi na prijavo v Lobby njihovega okolja. Če jih raje obdržite na svoji strani, jih <SignIn /> iz @usher/react prijavi kar tam, nato pa zaključi z OpenID Connect natanko kot doslej: vaš strežnik še vedno dobi žetone od Usherja, skozi vašo stran pa ne gre nobeno geslo ali žeton.

Dovolite izvor svoje aplikacije

V Usher Console odprite okolje, nato Prijava → Vgrajena prijava, in dodajte izvor svoje aplikacije, na primer https://app.example.com. API Frontend okolja lahko uporabljajo samo navedeni izvori in samo za prijavo.

Dodajte komponento

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

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

Komponenta je znotraj UsherProvider, ki ga @usher/nextjs že uporablja. frontendApi je izdajatelj vašega okolja.

Kaj se zgodi

  • Najprej e-pošta, nato geslo ali koda po e-pošti, nato drugi korak, če ga ima oseba. Prijava z družbenimi omrežji in Nadaljuj z Usher gresta k ponudniku in se vrneta v vašo aplikacijo.
  • Nato OpenID Connect. Ko je oseba prijavljena v vaše okolje, komponenta pošlje brskalnik na /auth/sign-in vaše aplikacije, ki gre naravnost skozi Usher in se vrne s kodo. Prvič Usher osebo prosi, naj dovoli vašo aplikacijo.
  • Zaščita pred roboti deluje kot v Lobbyju: ko Usher zahteva dokaz o delu, ga komponenta opravi.
  • Vse drugo (ključi za dostop, prijava za podjetja, ustvarjanje računa) je povezava na vaš Lobby.

V produkciji uporabite svojo domeno

Komponenta hrani Usherjevo sejo v piškotkih vašega okolja. V produkciji morajo biti ti piškotki prve osebe: okolju dajte svojo domeno, na istem spletnem mestu kot vaša aplikacija (login.example.com za app.example.com). V razvoju okolje, ki dovoljuje vgrajevanje, pošilja svoje piškotke med spletnimi mesti, kar Chrome sprejema. Kjer jih brskalnik ne obdrži, komponenta namesto tega preda delo vašemu Lobbyju.