租户感知的 Auth
接口,用于管理用户、配置 SAML/OIDC 提供方、生成用于重设密码、验证电子邮件等特定租户的电子邮件链接。
如需支持多租户,需要使用 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
每个租户都包含各自的身份提供商、设置和用户组。借助 TenantAwareAuth
,您还可以管理特定租户的用户和相应的 OIDC/SAML 配置,还可以验证登录特定租户的用户的 ID 令牌,还可以为属于该租户的用户生成电子邮件操作链接。
可通过调用 TenantManager.authForTenant() 来实例化特定 tenantId
的 TenantAwareAuth
实例。
签名:
export declare class TenantAwareAuth extends BaseAuth
扩展:BaseAuth
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
tenantId | 字符串 | 与此 TenantAwareAuth 实例对应的租户标识符。对用户管理 API、OIDC/SAML 提供方管理 API、电子邮件链接生成 API 等的所有调用都将仅在此租户的范围内应用。 |
方法
方法 | 修饰符 | 说明 |
---|---|---|
createSessionCookie(idToken, sessionCookieOptions) | 使用指定选项创建新的 Firebase 会话 Cookie。创建的 JWT 字符串可设置为具有自定义 Cookie 政策的服务器端会话 Cookie,并可用于会话管理。会话 Cookie JWT 将具有与所提供的 ID 令牌相同的负载声明。如需查看代码示例和详细文档,请参阅管理会话 Cookie。 | |
verifyIdToken(idToken, checkRevoked) | 验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的已解码声明执行 promise;否则,promise 会被拒绝。如果 checkRevoked 设为 true,首先验证相应用户是否已停用。如果是,则会抛出 auth/user-disabled 错误。如果否,验证与 ID 令牌对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/id-token-revoked 错误。如果未指定,则系统不会应用检查。如需查看代码示例和详细文档,请参阅验证 ID 令牌。 |
|
verifySessionCookie(sessionCookie, checkRevoked) | 验证 Firebase 会话 Cookie。返回包含 Cookie 声明的 Promise。如果无法验证 Cookie,则拒绝 promise。如果 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>;
参数
参数 | 类型 | 说明 |
---|---|---|
idToken | 字符串 | 用于交换会话 Cookie 的 Firebase ID 令牌。 |
sessionCookieOptions | SessionCookieOptions | 包含自定义会话时长的会话 Cookie 选项。 |
返回:
承诺<字符串>
使用创建的会话 Cookie 成功执行解析的 promise。
TenantAwareAuth.verifyIdToken()
验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的已解码声明执行 promise;否则,promise 将被拒绝。
如果 checkRevoked
设为 true,请先验证相应用户是否已停用。如果是,则会抛出 auth/user-disabled
错误。如果否,验证与 ID 令牌对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/id-token-revoked
错误。如果未指定,则不会应用检查。
请参阅验证 ID 令牌,查看代码示例和详细文档。
签名:
verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
参数
参数 | 类型 | 说明 |
---|---|---|
idToken | 字符串 | 要验证的 ID 令牌。 |
已撤消检查 | 布尔值 | 是否检查 ID 令牌是否已被撤消。这需要向 Firebase Auth 后端发送额外的请求,以检查相应用户的 tokensValidAfterTime 时间。如果未指定,则不会应用此附加检查。 |
返回:
如果 ID 令牌有效,则表示通过令牌的已解码声明实现的 promise;否则,返回被拒绝的 promise。
TenantAwareAuth.verifySessionCookie()
验证 Firebase 会话 Cookie。返回包含 Cookie 声明的 Promise。如果无法验证 Cookie,则拒绝 promise。
如果 checkRevoked
设为 true,首先验证相应用户是否已停用:如果是,系统会抛出 auth/user-disabled
错误。如果否,验证与会话 Cookie 对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/session-cookie-revoked
错误。如果未指定,则不会执行检查。
如需查看代码示例和详细文档,请参阅验证会话 Cookie
签名:
verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
参数
参数 | 类型 | 说明 |
---|---|---|
会话 Cookie | 字符串 | 要验证的会话 Cookie。 |
已撤消检查 | 布尔值 |
返回:
在会话 Cookie 有效的情况下,通过会话 Cookie 的已解码声明实现的 promise;否则,返回被拒绝的 promise。