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
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-invaš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.