這個介面代表從 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 權杖屬於哪個使用者的電子郵件地址 (前提是使用者已有電子郵件地址)。 |
字串 | 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;