DecodedIdToken interface

表示从 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 令牌所属用户的电子邮件地址是否通过验证(只要用户有电子邮件地址)。
email 字符串 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;