DecodedIdToken interface

這個介面代表從 BaseAuth.verifyIdToken() 方法傳回的已解碼 Firebase ID 符記。

Firebase ID 權杖是符合 OpenID Connect 規格的 JSON Web Token (JWT)。如要進一步瞭解下列特定屬性,請參閱 [OpenID Connect 規格的 ID 權杖一節](http://openid.net/specs/openid-connect-core-1_0.html#IDToken)。

簽名:

export interface DecodedIdToken 

屬性

屬性 類型 說明
音訊 字串 這個權杖適用的目標對象。這個值是與您的 Firebase 專案 ID (也就是 Firebase 專案專屬 ID) 相同的字串,您可以前往 [專案設定](https://console.firebase.google.com/project/_/settings/general/android:com.random.android)查看該 ID。
驗證時間 數字 使用者驗證作業發生的時間 (從 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:字串;登入秒數:字串;second_factor_identifier?: string;用戶群:字串;[key: string]: any;} 登入事件的相關資訊,包括所使用的登入提供者和供應商專屬的身分識別詳細資料。這項資料是由 Firebase 驗證服務提供,是 ID 權杖中的保留聲明。
iat 數字 ID 權杖的核發時間,以秒為單位,自 Unix 紀元開始算起。也就是說,這個 ID 權杖核發而開始視為有效的時間。Firebase SDK 每小時都會以公開透明的方式更新 ID 權杖,系統會即時核發新的 ID 權杖。如要取得對應至 ID 權杖的使用者工作階段最初發生的時間,請參閱 [auth_time](#auth_time) 屬性。
字串 回應核發者的 ID。這個值是格式為 https://securetoken.google.com/<PROJECT_ID> 的網址,其中 <PROJECT_ID> 與 [aud](#aud) 屬性中指定的專案 ID 相同。
電話號碼 字串 ID 權杖所屬的使用者電話號碼 (如果有的話)。
相片 字串 該 ID 權杖所屬使用者的相片網址 (如有)。
訂閱 字串 與 ID 權杖所屬使用者對應的 uid為了方便起見,這個值會複製到 [uid](#uid) 屬性中。
uid 字串 ID 權杖所屬使用者對應的 uid這個值實際上不在 JWT 權杖聲明中。為了方便起見,建議設為 [sub](#sub) 屬性的值。

解碼 IDToken.aud

這個權杖的適用對象。

這個值是與您的 Firebase 專案 ID 相同的字串,也就是 Firebase 專案的專屬 ID。如要查看該 ID,請前往 [專案設定](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 權杖,效期最長為 1 小時。

簽名:

exp: number;

解碼 IdToken.firebase

登入事件的相關資訊,包括使用的登入提供者,以及供應商專屬的身分詳細資料。

這項資料是由 Firebase 驗證服務提供,並是 ID 權杖中的保留聲明。

簽名:

firebase: {
        identities: {
            [key: string]: any;
        };
        sign_in_provider: string;
        sign_in_second_factor?: string;
        second_factor_identifier?: string;
        tenant?: string;
        [key: string]: any;
    };

解碼 IdToken.iat

ID 權杖的核發時間,以秒為單位,自 Unix 紀元開始算起。也就是說,核發這個 ID 權杖的時間應開始視為有效。

Firebase SDK 每小時都會以公開透明的方式更新 ID 權杖,並定期核發新的 ID 權杖。如要取得對應至 ID 權杖的使用者工作階段最初發生的時間,請參閱 [auth_time](#auth_time) 屬性。

簽名:

iat: number;

解碼 IdToken.iss

回應核發者的 ID。

這個值是採用 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;

解碼 IdToken.sub

與 ID 權杖所屬使用者對應的 uid

為了方便起見,這個值會複製到 [uid](#uid) 屬性。

簽名:

sub: string;

解碼 ID 權杖.uid

與 ID 權杖所屬使用者對應的 uid

這個值實際上不在 JWT 權杖憑證附加資訊中。為了方便起見,建議設為 [sub](#sub) 屬性的值。

簽名:

uid: string;