อินเทอร์เฟซการตรวจสอบสิทธิ์ที่รับรู้ของ 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 >
คำมั่นสัญญาที่ปฏิบัติตามคำเรียกร้องที่ถอดรหัสของคุกกี้เซสชันหากคุกกี้เซสชันนั้นถูกต้อง มิฉะนั้นจะเป็นคำสัญญาที่ถูกปฏิเสธ