Preskoči na sadržaj
Dokumentacija · Prijava na vlastitoj stranici

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

TSX
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-in vaš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.