表示从 BaseAuth.verifyIdToken() 方法返回的已解码 Firebase ID 令牌的接口。
Firebase ID 令牌是符合 OpenID Connect 规范的 JSON Web 令牌 (JWT)。请参阅 [OpenID Connect 规范的“ID 令牌”部分](http://openid.net/specs/openid-connect-core-1_0.html#IDToken),详细了解以下特定属性。
签名:
export interface DecodedIdToken
属性
属性 | 类型 | 说明 |
---|---|---|
aud | 字符串 | 此令牌所面向的受众群体。此值是一个字符串,它等于您的 Firebase 项目 ID(您的 Firebase 项目的唯一标识符),可在 [您的项目设置](https://console.firebase.google.com/project/_/settings/general/android:com.random.android) 中找到。 |
auth_time [身份验证时间] | 数字 | 最终用户身份验证发生的时间(自 Unix 纪元以来的秒数)。在创建此特定 ID 令牌时不会设置此值,而是在用户最初登录此会话时设置。在单个会话中,Firebase SDK 每小时刷新一次用户的 ID 令牌。每个 ID 令牌将具有不同的 [iat ](#iat) 值,但相同的 auth_time 值。 |
email_verified | 布尔值 | ID 令牌所属用户的电子邮件地址是否通过验证(只要用户有电子邮件地址)。 |
字符串 | ID 令牌所属用户的电子邮件地址(如果有)。 | |
exp | 数字 | ID 令牌的到期时间,以自 Unix 公元纪年开始计算的秒数表示。也就是说,此 ID 令牌的到期时间是多久,此时间应不再被视为有效。Firebase SDK 每小时都会透明地刷新一次 ID 令牌,并颁发一个新的 ID 令牌,有效期最长可达 1 小时。 |
Firebase | {identity: { [key: string]: any;};sign_in_provider:字符串;sign_in_second_factor?:字符串;second_factor_identifier?: string;租户?: string;[键:字符串]:任意;} | 登录事件的相关信息,包括所使用的登录提供方和特定于提供方的身份详细信息。这些数据由 Firebase 身份验证服务提供,是 ID 令牌中的保留声明。 |
IAT | 数字 | ID 令牌的颁发时间,与 Unix 计时原点之间相隔的秒数。也就是说,此 ID 令牌的颁发时间应开始被视为有效。Firebase SDK 每小时都会透明地刷新 ID 令牌,在时间颁发一个新的 ID 令牌。如果您想获取与 ID 令牌对应的用户会话首次发生的时间,请参阅 [auth_time ](#auth_time) 属性。 |
iss | 字符串 | 响应的颁发者的标识符。此值是一个采用 https://securetoken.google.com/<PROJECT_ID> 格式的网址,其中 <PROJECT_ID> 是 [aud ](#aud) 属性中指定的项目 ID。 |
phone_number | 字符串 | ID 令牌所属用户的电话号码(如果有)。 |
照片 | 字符串 | ID 令牌所属用户的照片网址(如果有)。 |
订阅 | 字符串 | ID 令牌所属的用户对应的 uid 。为方便起见,系统会将此值复制到 [uid ](#uid) 属性中。 |
uid | 字符串 | 与 ID 令牌所属用户对应的 uid 。此值实际上不包含在 JWT 令牌声明中。为方便起见,添加了此属性,并将其设置为 [sub ](#sub) 属性的值。 |
DeencodedIdToken.aud
此令牌的目标受众群体。
此值是一个字符串,相当于您的 Firebase 项目 ID,即您的 Firebase 项目的唯一标识符,可在 [您的项目设置](https://console.firebase.google.com/project/_/settings/general/android:com.random.android) 中找到。
签名:
aud: string;
解码 IDToken.auth_time
最终用户身份验证发生的时间(自 Unix 纪元起经过的秒数)。
该值不会在创建此特定 ID 令牌时设置,而是在用户最初登录此会话时设置。在单个会话中,Firebase SDK 每小时刷新一次用户的 ID 令牌。每个 ID 令牌将具有不同的 [iat
](#iat) 值,但相同的 auth_time
值。
签名:
auth_time: number;
已解码 IDToken.email_verified
ID 令牌所属用户的电子邮件地址是否通过验证(只要用户有电子邮件地址)。
签名:
email_verified?: boolean;
已解码 IDToken.email
ID 令牌所属用户的电子邮件地址(如果有)。
签名:
email?: string;
解码 IDToken.exp
ID 令牌的到期时间,以自 Unix 公元纪年开始计算的秒数表示。也就是说,此 ID 令牌的到期时间是,在此时间过后,该令牌将不再被视为有效。
Firebase SDK 每小时以透明方式刷新 ID 令牌,签发一个有效期最多为一小时的新 ID 令牌。
签名:
exp: number;
DecodingIdToken.firebase
有关登录事件的信息,包括所用的登录提供方以及特定于提供方的身份详细信息。
此数据由 Firebase Authentication 服务提供,是 ID 令牌中的保留声明。
签名:
firebase: {
identities: {
[key: string]: any;
};
sign_in_provider: string;
sign_in_second_factor?: string;
second_factor_identifier?: string;
tenant?: string;
[key: string]: any;
};
DecodingIdToken.iat
ID 令牌的颁发时间,与 Unix 计时原点之间相隔的秒数。也就是说,ID 令牌的发放时间,应开始被视为有效。
Firebase SDK 每小时以透明的方式刷新 ID 令牌,在时间新签发一个 ID 令牌。如果您想获取与 ID 令牌对应的用户会话首次发生的时间,请参阅 [auth_time
](#auth_time) 属性。
签名:
iat: number;
解码 IDToken.iss
响应的颁发者的标识符。
此值是一个格式为 https://securetoken.google.com/<PROJECT_ID>
的网址,其中 <PROJECT_ID>
是在 [aud
](#aud) 属性中指定的项目 ID。
签名:
iss: string;
解码 IDToken.phone_number
ID 令牌所属用户的电话号码(如果有)。
签名:
phone_number?: string;
已解码 IDToken.picture
ID 令牌所属用户的照片网址(如果有)。
签名:
picture?: string;
DecodingIdToken.sub
与 ID 令牌所属的用户对应的 uid
。
为方便起见,系统会将此值复制到 [uid
](#uid) 属性。
签名:
sub: string;
DecodingIdToken.uid
与 ID 令牌所属的用户对应的 uid
。
此值实际上并不包含在 JWT 令牌声明中。为方便起见,添加了此属性,并将其设置为 [sub
](#sub) 属性的值。
签名:
uid: string;