התחברות בדף משלך
רוב האפליקציות שולחות אנשים ל-Lobby של הסביבה כדי להתחבר. אם עדיף לך להשאיר אותם בדף שלך, <SignIn /> מ-@usher/react מחבר אותם בדיוק שם, ואז מסיים עם OpenID Connect בדיוק כמו קודם: השרת שלך עדיין מקבל את האסימונים שלו מ-Usher, ואף סיסמה או אסימון לא עוברים דרך הדף שלך.
אישור המקור (origin) של האפליקציה
ב-Usher Console, פותחים את הסביבה ועוברים אל התחברות ← התחברות מוטמעת, ומוסיפים את המקור של האפליקציה, כמו https://app.example.com. רק מקורות שברשימה רשאים להשתמש ב-Frontend API של הסביבה, ורק לצורך התחברות.
הוספת הרכיב
import { SignIn } from '@usher/react'
export function SignInPage() {
return <SignIn frontendApi="https://login.example.com" returnTo="/dashboard" />
}הרכיב יושב בתוך ה-UsherProvider ש-@usher/nextjs כבר משתמש בו. frontendApi הוא המנפיק של הסביבה שלך.
מה קורה
- קודם כתובת הדוא״ל, אחריה סיסמה או קוד בדוא״ל, ואחר כך השלב השני אם יש לאדם כזה. התחברות דרך רשת חברתית ו"המשך עם Usher" עוברות לספק וחוזרות לאפליקציה שלך.
- ואז OpenID Connect. אחרי ההתחברות בסביבה, הרכיב שולח את הדפדפן ל-
/auth/sign-inשל האפליקציה שלך, שעובר ישר דרך Usher וחוזר עם קוד. בפעם הראשונה, Usher מבקש מהאדם לאשר את האפליקציה שלך. - ההגנה מפני בוטים פועלת כמו ב-Lobby: כש-Usher מבקש הוכחת עבודה, הרכיב מבצע אותה.
- כל השאר (מפתחות גישה, התחברות ארגונית, יצירת חשבון) הוא קישור ל-Lobby שלך.
דומיין משלך בסביבת ייצור
הרכיב שומר את הסשן של Usher בקובצי ה-Cookie של הסביבה. בסביבת ייצור הם חייבים להיות של צד ראשון: נותנים לסביבה דומיין משלך, באותו אתר כמו האפליקציה (login.example.com עבור app.example.com). בסביבת פיתוח, סביבה שמאפשרת הטמעה שולחת את קובצי ה-Cookie שלה בין אתרים, ו-Chrome מקבל את זה. בדפדפן שלא שומר אותם, הרכיב מעביר את האדם ל-Lobby במקום.