User interface

用户帐号。

Signature:

export interface User extends UserInfo 

扩展UserInfo

属性

媒体资源 类型 说明
emailVerified boolean 电子邮件是否通过 sendEmailVerification()applyActionCode() 完成验证。
isAnonymous boolean 用户是否使用 ProviderId.ANONYMOUS 提供程序进行了身份验证。
元数据 UserMetadata 有关用户创建和登录时间的其他元数据。
providerData UserInfo[] 每个提供方的额外信息,例如 displayName 和个人资料信息。
refreshToken string 刷新用于对用户重新进行身份验证的令牌。请避免直接使用此 ID,而是使用 User.getIdToken() 刷新 ID 令牌。
tenantId 字符串 | null 用户的租户 ID。

方法

方法 说明
delete() 删除用户并退出帐号。
getIdToken(forceRefresh) 返回用于向 Firebase 服务标识用户的 JSON Web 令牌 (JWT)。
getIdTokenResult(forceRefresh) 返回用于向 Firebase 服务识别用户身份的反序列化 JSON 网络令牌 (JWT)。
reload() 调用 刷新用户(如果已登录)。
toJSON() 返回此对象的 JSON 可序列化表示法。

User.emailVerified

电子邮件是否通过 sendEmailVerification()applyActionCode() 完成验证。

Signature:

readonly emailVerified: boolean;

User.isAnonymous

用户是否使用 ProviderId.ANONYMOUS 提供程序进行了身份验证。

Signature:

readonly isAnonymous: boolean;

User.metadata

有关用户创建和登录时间的其他元数据。

Signature:

readonly metadata: UserMetadata;

User.providerData

每个提供方的额外信息,例如 displayName 和个人资料信息。

Signature:

readonly providerData: UserInfo[];

User.refreshToken

刷新用于对用户重新进行身份验证的令牌。请避免直接使用此 ID,而是使用 User.getIdToken() 刷新 ID 令牌。

Signature:

readonly refreshToken: string;

User.tenantId

用户的租户 ID。

这是一个只读属性,指示用于登录用户的租户 ID。如果用户从父项目登录,则此值为 null。

Signature:

readonly tenantId: string | null;

示例

// Set the tenant ID on Auth instance.
auth.tenantId = 'TENANT_PROJECT_ID';

// All future sign-in request now include tenant ID.
const result = await signInWithEmailAndPassword(auth, email, password);
// result.user.tenantId should be 'TENANT_PROJECT_ID'.

User.delete()

删除用户并退出帐号。

使用 FirebaseServerApp 创建的 Auth 实例登录的任何 User 均不支持此方法。

Signature:

delete(): Promise<void>;

返回

Promise<void>

User.getIdToken()

返回用于向 Firebase 服务标识用户的 JSON Web 令牌 (JWT)。

如果当前令牌未过期或在接下来的五分钟内不会过期,则返回当前令牌。否则,系统将刷新令牌并返回一个新令牌。

Signature:

getIdToken(forceRefresh?: boolean): Promise<string>;

参数

参数 类型 说明
forceRefresh boolean 强制刷新,不考虑令牌过期。

返回

Promise<string>

User.getIdTokenResult()

返回用于向 Firebase 服务识别用户身份的反序列化 JSON 网络令牌 (JWT)。

如果当前令牌未过期或在接下来的五分钟内不会过期,则返回当前令牌。否则,系统将刷新令牌并返回一个新令牌。

Signature:

getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;

参数

参数 类型 说明
forceRefresh boolean 强制刷新,不考虑令牌过期。

返回

Promise<IdTokenResult>

User.reload()

刷新用户(如果已登录)。

Signature:

reload(): Promise<void>;

返回

Promise<void>

User.toJSON()

返回此对象的 JSON 可序列化表示法。

Signature:

toJSON(): object;

返回

对象

此对象的可 JSON 序列化表示。