Prijava na vlastitoj stranici
Većina aplikacija šalje ljude na prijavu u Lobby svojeg okruženja. Ako ih radije želite zadržati na vlastitoj stranici, <SignIn /> iz paketa @usher/react prijavljuje ih upravo ondje, a zatim završava putem protokola OpenID Connect točno kao i prije: vaš poslužitelj i dalje dobiva tokene od platforme Usher, a kroz vašu stranicu ne prolazi nijedna lozinka ni token.
Dopustite ishodište svoje aplikacije
U sučelju Usher Console otvorite okruženje, a zatim Prijava → Ugrađena prijava, i dodajte ishodište svoje aplikacije, kao što je https://app.example.com. Frontend API okruženja smiju koristiti samo navedena ishodišta, i to samo za prijavu.
Dodajte komponentu
import { SignIn } from '@usher/react'
export function SignInPage() {
return <SignIn frontendApi="https://login.example.com" returnTo="/dashboard" />
}Nalazi se unutar komponente UsherProvider koju @usher/nextjs već koristi. frontendApi je izdavatelj vašeg okruženja.
Što se događa
- Najprije e-pošta, zatim lozinka ili kôd poslan e-poštom, a potom drugi korak ako ga osoba ima. Prijava putem društvenih mreža i „Nastavi uz Usher” vode do pružatelja i vraćaju se u vašu aplikaciju.
- Zatim OpenID Connect. Kad je osoba prijavljena u vaše okruženje, komponenta šalje preglednik na
/auth/sign-invaše aplikacije, koji ide ravno kroz platformu Usher i vraća se s kôdom. Prvi put Usher traži od osobe da dopusti vašu aplikaciju. - Zaštita od botova radi kao na stranici Lobby: kad Usher zatraži dokaz rada, komponenta ga obavi.
- Sve ostalo (pristupni ključevi, poslovna prijava, izrada računa) poveznica je na vašu stranicu Lobby.
U produkciji koristite vlastitu domenu
Komponenta čuva sesiju platforme Usher u kolačićima vašeg okruženja. U produkciji oni moraju biti kolačići prve strane: okruženju dajte vlastitu domenu, na istom mjestu (same-site) kao vaša aplikacija (login.example.com za app.example.com). U razvoju okruženje koje dopušta ugrađivanje šalje svoje kolačiće između različitih mjesta, što Chrome prihvaća. Ako ih preglednik ne želi zadržati, komponenta umjesto toga prepušta prijavu vašoj stranici Lobby.