TenantAwareAuth class

อินเทอร์เฟซ Auth ที่รับรู้กลุ่มผู้ใช้ซึ่งใช้สำหรับการจัดการผู้ใช้ กำหนดค่าผู้ให้บริการ SAML/OIDC สร้างลิงก์อีเมลสำหรับรีเซ็ตรหัสผ่าน ยืนยันอีเมล ฯลฯ สำหรับกลุ่มผู้ใช้ที่เฉพาะเจาะจง

การรองรับกลุ่มผู้ใช้หลายกลุ่มต้องใช้ Identity Platform (GCIP) ของ Google Cloud หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับ GCIP รวมถึงราคาและฟีเจอร์ โปรดดูเอกสารประกอบเกี่ยวกับ GCIP

กลุ่มผู้ใช้แต่ละกลุ่มมีผู้ให้บริการข้อมูลประจำตัว การตั้งค่า และชุดของผู้ใช้ของตัวเอง เมื่อใช้ TenantAwareAuth ผู้ใช้สำหรับกลุ่มผู้ใช้ที่เจาะจงและการกำหนดค่า OIDC/SAML ที่เกี่ยวข้องยังได้รับการจัดการ ยืนยันโทเค็นรหัสสำหรับผู้ใช้ที่ลงชื่อเข้าใช้กลุ่มผู้ใช้ที่เจาะจง และสร้างลิงก์การดำเนินการทางอีเมลสำหรับผู้ใช้ที่อยู่ในกลุ่มผู้ใช้นั้นได้ด้วย

สร้างอินสแตนซ์ TenantAwareAuth ที่เจาะจง tenantId ได้โดยเรียกใช้ TenantManager.authForTenant()

ลายเซ็น:

export declare class TenantAwareAuth extends BaseAuth 

ขยาย: BaseAuth

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ คีย์ตัวปรับแต่ง ประเภท คำอธิบาย
รหัสกลุ่มผู้ใช้ สตริง ตัวระบุกลุ่มผู้ใช้ที่สอดคล้องกับอินสแตนซ์ TenantAwareAuth นี้ การเรียก API การจัดการผู้ใช้ทั้งหมด, API การจัดการผู้ให้บริการ OIDC/SAML, API การสร้างลิงก์อีเมล ฯลฯ จะใช้ภายในขอบเขตของกลุ่มผู้ใช้นี้เท่านั้น

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
createSessionCookie(idToken, sessionCookieOptions) สร้างคุกกี้เซสชัน Firebase ใหม่ด้วยตัวเลือกที่ระบุ คุณสามารถตั้งค่าสตริง JWT ที่สร้างขึ้นเป็นคุกกี้เซสชันฝั่งเซิร์ฟเวอร์ด้วยนโยบายคุกกี้ที่กำหนดเอง และใช้สำหรับการจัดการเซสชัน JWT คุกกี้เซสชันจะมีการอ้างสิทธิ์เพย์โหลดเดียวกันกับโทเค็นรหัสที่ระบุโปรดดูตัวอย่างโค้ดและเอกสารโดยละเอียดที่จัดการคุกกี้ของเซสชัน
verifyIdToken(idToken, checkOverrided) ยืนยันโทเค็นรหัส Firebase (JWT) หากโทเค็นถูกต้อง จะมีการดำเนินการตามที่สัญญาไว้พร้อมกับการอ้างสิทธิ์ที่ถอดรหัสแล้วของโทเค็น มิฉะนั้น สัญญาจะถูกปฏิเสธหากตั้งค่า checkRevoked เป็น "จริง" ก่อนอื่นให้ตรวจสอบว่าผู้ใช้ที่เกี่ยวข้องปิดใช้อยู่หรือไม่ หากใช่ ระบบจะแสดงข้อผิดพลาด auth/user-disabled หากไม่ใช่ ให้ตรวจสอบว่าเซสชันที่เกี่ยวข้องกับโทเค็นรหัสถูกเพิกถอนหรือไม่ หากเซสชันของผู้ใช้ที่เกี่ยวข้องไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาด auth/id-token-revoked หากไม่ระบุ ระบบจะไม่ใช้การตรวจสอบโปรดดูตัวอย่างโค้ดและเอกสารโดยละเอียดที่ยืนยันโทเค็นรหัส
verifySessionCookie(sessionCookie, checkการเพิกถอน) ยืนยันคุกกี้เซสชัน Firebase ส่งคืน Promise พร้อมการอ้างสิทธิ์คุกกี้ ปฏิเสธการสัญญาหากยืนยันคุกกี้ไม่ได้หากตั้งค่า checkRevoked เป็น "จริง" ก่อนอื่นให้ตรวจสอบว่าผู้ใช้ที่เกี่ยวข้องปิดใช้อยู่หรือไม่ หากใช่ ระบบจะแสดงข้อผิดพลาด auth/user-disabled หากไม่ใช่ ให้ยืนยันว่าเซสชันที่เกี่ยวข้องกับคุกกี้ของเซสชันถูกเพิกถอนหรือไม่ หากเซสชันของผู้ใช้ที่เกี่ยวข้องไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาด auth/session-cookie-revoked ถ้าไม่ระบุ จะไม่มีการตรวจสอบดูยืนยันคุกกี้ของเซสชันสำหรับตัวอย่างโค้ดและเอกสารโดยละเอียด

TenantAwareAuth.tenantId

ตัวระบุกลุ่มผู้ใช้ที่สอดคล้องกับอินสแตนซ์ TenantAwareAuth นี้ การเรียก API การจัดการผู้ใช้ทั้งหมด, API การจัดการผู้ให้บริการ OIDC/SAML, API การสร้างลิงก์อีเมล ฯลฯ จะใช้ภายในขอบเขตของกลุ่มผู้ใช้นี้เท่านั้น

ลายเซ็น:

readonly tenantId: string;

TenantAwareAuth.createSessionCookie()

สร้างคุกกี้เซสชัน Firebase ใหม่ด้วยตัวเลือกที่ระบุ คุณสามารถตั้งค่าสตริง JWT ที่สร้างขึ้นเป็นคุกกี้เซสชันฝั่งเซิร์ฟเวอร์ด้วยนโยบายคุกกี้ที่กำหนดเอง และใช้สำหรับการจัดการเซสชัน JWT คุกกี้เซสชันจะมีการอ้างสิทธิ์เพย์โหลดเหมือนกับโทเค็นรหัสที่ระบุ

โปรดดูจัดการคุกกี้ของเซสชันสำหรับตัวอย่างโค้ดและเอกสารโดยละเอียด

ลายเซ็น:

createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
โทเค็นรหัส สตริง โทเค็นรหัส Firebase สำหรับแลกเปลี่ยนกับคุกกี้ของเซสชัน
ตัวเลือกคุกกี้เซสชัน ตัวเลือกคุกกี้ของเซสชัน ตัวเลือกคุกกี้เซสชันซึ่งมีระยะเวลาเซสชันที่กำหนดเอง

การคืนสินค้า:

คำมั่นสัญญา<สตริง>

สัญญาที่แก้ปัญหาให้ประสบความสำเร็จด้วยคุกกี้เซสชันที่สร้างขึ้น

TenantAwareAuth.verifyIdToken()

ยืนยันโทเค็นรหัส Firebase (JWT) หากโทเค็นถูกต้อง จะมีการดำเนินการตามที่สัญญาไว้พร้อมกับการอ้างสิทธิ์ที่ถอดรหัสแล้วของโทเค็น ไม่เช่นนั้น คำสัญญาจะถูกปฏิเสธ

หากตั้งค่า checkRevoked เป็น "จริง" ก่อนอื่นให้ตรวจสอบว่าผู้ใช้ที่เกี่ยวข้องปิดใช้อยู่หรือไม่ หากใช่ ระบบจะแสดงข้อผิดพลาด auth/user-disabled หากไม่ใช่ ให้ตรวจสอบว่าเซสชันที่เกี่ยวข้องกับโทเค็นรหัสถูกเพิกถอนหรือไม่ หากเซสชันของผู้ใช้ที่เกี่ยวข้องไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาด auth/id-token-revoked หากไม่ระบุไว้ ระบบจะไม่ใช้การตรวจสอบ

โปรดดูยืนยันโทเค็นรหัสสำหรับตัวอย่างโค้ดและเอกสารโดยละเอียด

ลายเซ็น:

verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
โทเค็นรหัส สตริง โทเค็นรหัสที่ต้องยืนยัน
เพิกถอนการตรวจสอบแล้ว boolean ระบุว่าโทเค็นรหัสถูกเพิกถอนหรือไม่ โดยจำเป็นต้องมีคำขอเพิ่มเติมไปยังแบ็กเอนด์ Firebase Auth เพื่อตรวจสอบเวลา tokensValidAfterTime ของผู้ใช้ที่เกี่ยวข้อง เมื่อไม่ระบุ การตรวจสอบเพิ่มเติมนี้จะไม่มีผล

การคืนสินค้า:

สัญญา<DeCodeIdToken>

คำมั่นสัญญาที่บรรลุกับการอ้างสิทธิ์ที่ถอดรหัสแล้วของโทเค็นหากโทเค็นรหัสถูกต้อง ไม่เช่นนั้น ถือว่าสัญญาถูกปฏิเสธ

TenantAwareAuth.verifySessionCookie()()

ยืนยันคุกกี้เซสชัน Firebase ส่งคืน Promise พร้อมการอ้างสิทธิ์คุกกี้ ปฏิเสธสัญญาหากยืนยันคุกกี้ไม่ได้

หากตั้งค่า checkRevoked เป็น "จริง" ก่อนอื่นให้ตรวจสอบว่าผู้ใช้ที่เกี่ยวข้องถูกปิดใช้หรือไม่ หากใช่ ระบบจะแสดงข้อผิดพลาด auth/user-disabled หากไม่ใช่ ให้ยืนยันว่าเซสชันที่เกี่ยวข้องกับคุกกี้ของเซสชันถูกเพิกถอนหรือไม่ หากเซสชันของผู้ใช้ที่เกี่ยวข้องไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาด auth/session-cookie-revoked หากไม่ได้ระบุ จะไม่มีการตรวจสอบ

ดูยืนยันคุกกี้ของเซสชันสำหรับตัวอย่างโค้ดและเอกสารโดยละเอียด

ลายเซ็น:

verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
คุกกี้เซสชัน สตริง คุกกี้เซสชันที่ต้องยืนยัน
เพิกถอนการตรวจสอบแล้ว boolean

การคืนสินค้า:

สัญญา<DeCodeIdToken>

คำสัญญาที่ทำสำเร็จพร้อมกับการอ้างสิทธิ์ที่ถอดรหัสของคุกกี้เซสชันหากคุกกี้เซสชันถูกต้อง ไม่เช่นนั้น ถือว่าสัญญาถูกปฏิเสธ