บทนำ
Usher คือผู้ให้บริการข้อมูลประจำตัว (identity provider) ที่พาผู้คนลงชื่อเข้าแอปของคุณ ดูแลบัญชีของพวกเขาให้ปลอดภัย และบอกแอปของคุณว่าพวกเขาเป็นใคร ทั้งหมดนี้ทำผ่าน OpenID Connect และ OAuth 2.1 จึงใช้ได้กับไลบรารีที่คุณใช้อยู่แล้ว
Usher ทำอะไร
พนักงานนำที่นั่ง (usher) มีหน้าที่สองอย่างที่ประตู คือตรวจตั๋วของคุณ และพาคุณไปยังที่นั่ง Usher ทำหน้าที่สองอย่างเดียวกันนี้ให้แอปของคุณ:
- การยืนยันตัวตน ผู้คนพิสูจน์ว่าตนเป็นใครใน Lobby ซึ่งเป็นหน้าลงชื่อเข้าที่ Usher โฮสต์ให้ ด้วยพาสคีย์ รหัสทางอีเมล ลิงก์ลงชื่อเข้า บัญชีโซเชียล หรือรหัสผ่าน
- การให้สิทธิ์ แอปของคุณได้รับโทเค็นที่บอกว่าผู้ใช้คือใครและยินยอมแชร์อะไรบ้าง และ API ของคุณตรวจสอบโทเค็นเหล่านั้นได้
ส่วนประกอบ
| ส่วนประกอบ | คืออะไร |
|---|---|
| Lobby | หน้าลงชื่อเข้าที่โฮสต์ให้ ซึ่งบอกชื่อแอปที่ผู้ใช้กำลังจะไปเสมอ |
| บัญชี Usher | สิ่งที่แต่ละคนมี: อีเมล พาสคีย์ ปัจจัยที่สอง และอุปกรณ์ที่ลงชื่อเข้าอยู่ |
| Usher Console | ที่ที่คุณสร้างโปรเจกต์และสภาพแวดล้อม ลงทะเบียนแอปพลิเคชัน และจัดการผู้ใช้ |
| SDK และคอมโพเนนต์ | @usher/nextjs พร้อม <SignIn /> และ <UserButton /> จะมาพร้อม SDK |
Usher เข้ากับแอปของคุณอย่างไร
ทุกสภาพแวดล้อมที่คุณสร้างเป็น Issuer ของ OpenID Connect ในตัวเอง โดยมีที่อยู่เป็นของตัวเอง:
Issuer
https://<handle>.usherid.comแอปของคุณส่งผู้ใช้ไปยัง Issuer นั้นเพื่อลงชื่อเข้า แล้วได้ผู้ใช้กลับมาพร้อมรหัสที่แอปนำไปแลกเป็นโทเค็น นี่คือโฟลว์รหัสการอนุญาตพร้อม PKCE แบบมาตรฐาน และทุกขั้นตอนของโฟลว์นี้อธิบายไว้ในเอกสาร Discovery ของ Issuer:
เอกสาร Discovery
https://<handle>.usherid.com/.well-known/openid-configuration