TenantAwareAuth class

租户感知Auth界面,用于管理用户、配置 SAML/OIDC 提供商、为特定租户生成用于密码重置的电子邮件链接、电子邮件验证等。

多租户支持需要 Google Cloud 的 Identity Platform (GCIP)。要了解有关 GCIP 的更多信息,包括定价和功能,请参阅GCIP 文档

每个租户都包含自己的身份提供商、设置和用户组。使用TenantAwareAuth还可以管理特定租户的用户和相应的 OIDC/SAML 配置,可以验证登录到特定租户的用户的 ID 令牌,还可以为属于该租户的用户生成电子邮件操作链接。

可以通过调用TenantManager.authForTenant()来实例化特定tenantIdTenantAwareAuth实例

签名:

export declare class TenantAwareAuth extends BaseAuth 

扩展: BaseAuth

特性

财产修饰符类型描述
租户ID细绳与此TenantAwareAuth实例对应的租户标识符。对用户管理 API、OIDC/SAML 提供商管理 API、电子邮件链接生成 API 等的所有调用将仅应用于此租户的范围内。

方法

方法修饰符描述
创建SessionCookie(idToken,sessionCookieOptions)使用指定选项创建新的 Firebase 会话 cookie。创建的 JWT 字符串可以设置为具有自定义 cookie 策略的服务器端会话 cookie,并用于会话管理。会话 cookie JWT 将具有与提供的 ID 令牌相同的有效负载声明。请参阅管理会话 Cookie以获取代码示例和详细文档。
verifyIdToken(idToken, checkRevoked)验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的解码声明来履行承诺;否则,该承诺将被拒绝。如果checkRevoked设置为true,首先验证对应的用户是否被禁用。如果是,则会引发auth/user-disabled错误。如果否,则验证与 ID 令牌对应的会话是否已撤销。如果相应用户的会话无效,则会抛出auth/id-token-revoked错误。如果未指定,则不应用检查。请参阅验证 ID 令牌以获取代码示例和详细文档。
verifySessionCookie(sessionCookie, checkRevoked)验证 Firebase 会话 cookie。返回带有 cookie 声明的 Promise。如果无法验证 cookie,则拒绝承诺。如果checkRevoked设置为 true,首先验证相应的用户是否被禁用:如果是,则抛出auth/user-disabled错误。如果不是,则验证与会话cookie对应的会话是否被撤销。如果相应用户的会话无效,则会抛出auth/session-cookie-revoked错误。如果未指定,则不执行检查。请参阅验证会话 Cookie以获取代码示例和详细文档

TenantAwareAuth.tenantId

与此TenantAwareAuth实例对应的租户标识符。对用户管理 API、OIDC/SAML 提供商管理 API、电子邮件链接生成 API 等的所有调用将仅应用于此租户的范围内。

签名:

readonly tenantId: string;

TenantAwareAuth.createSessionCookie()

使用指定选项创建新的 Firebase 会话 cookie。创建的 JWT 字符串可以设置为具有自定义 cookie 策略的服务器端会话 cookie,并用于会话管理。会话 cookie JWT 将具有与提供的 ID 令牌相同的有效负载声明。

请参阅管理会话 Cookie以获取代码示例和详细文档。

签名:

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

参数

范围类型描述
id令牌细绳用于交换会话 cookie 的 Firebase ID 令牌。
会话Cookie选项会话Cookie选项会话 cookie 选项,其中包括自定义会话持续时间。

返回:

承诺<字符串>

使用创建的会话 cookie 解决成功的承诺。

TenantAwareAuth.verifyIdToken()

验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的解码声明来履行承诺;否则,该承诺将被拒绝。

如果checkRevoked设置为true,首先验证对应的用户是否被禁用。如果是,则会引发auth/user-disabled错误。如果否,则验证与 ID 令牌对应的会话是否已撤销。如果相应用户的会话无效,则会抛出auth/id-token-revoked错误。如果未指定,则不应用检查。

请参阅验证 ID 令牌以获取代码示例和详细文档。

签名:

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

参数

范围类型描述
id令牌细绳要验证的 ID 令牌。
支票已撤销布尔值是否检查ID令牌是否被撤销。这需要向 Firebase Auth 后端发出额外请求,以检查相应用户的tokensValidAfterTime时间。如果未指定,则不应用此附加检查。

返回:

Promise< DecodedIdToken >

如果 ID 令牌有效,则通过令牌的解码声明实现承诺;否则,就是被拒绝的承诺。

TenantAwareAuth.verifySessionCookie()

验证 Firebase 会话 cookie。返回带有 cookie 声明的 Promise。如果无法验证 cookie,则拒绝承诺。

如果checkRevoked设置为 true,首先验证相应的用户是否被禁用:如果是,则抛出auth/user-disabled错误。如果不是,则验证与会话cookie对应的会话是否被撤销。如果相应用户的会话无效,则会抛出auth/session-cookie-revoked错误。如果未指定,则不执行检查。

请参阅验证会话 Cookie以获取代码示例和详细文档

签名:

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

参数

范围类型描述
会话Cookie细绳要验证的会话 cookie。
支票已撤销布尔值

返回:

Promise< DecodedIdToken >

如果会话 cookie 有效,则通过会话 cookie 的解码声明实现承诺;否则,就是被拒绝的承诺。