TenantAwareAuth class

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

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

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

อินสแตนซ์ TenantAwareAuth สำหรับ tenantId เฉพาะสามารถสร้างอินสแตนซ์ได้โดยการเรียก TenantManager.authForTenant() .

ลายเซ็น:

export declare class TenantAwareAuth extends BaseAuth 

ขยาย: BaseAuth

คุณสมบัติ

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

วิธีการ

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

TenantAwareAuth.tenantId

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

ลายเซ็น:

readonly tenantId: string;

TenantAwareAuth.createSessionCookie()

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

สัญญา<สตริง>

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

TenantAwareAuth.verifyIdToken()

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

สัญญา < DecodedIdToken >

คำสัญญาที่ปฏิบัติตามคำเรียกร้องที่ถอดรหัสของโทเค็นหากโทเค็น ID ถูกต้อง มิฉะนั้นจะเป็นคำสัญญาที่ถูกปฏิเสธ

TenantAwareAuth.verifySessionCookie()

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

สัญญา < DecodedIdToken >

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