อินเทอร์เฟซที่แสดงโทเค็น Firebase ID ที่ถอดรหัสแล้ว ซึ่งแสดงผลจากเมธอด BaseAuth.verifyIdToken()
โทเค็นรหัส Firebase คือโทเค็นเว็บ JSON (JWT) ที่สอดคล้องกับข้อกำหนดของ OpenID Connect โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติเฉพาะด้านล่างที่[ส่วนโทเค็นรหัสของข้อกำหนดของ OpenID Connect](http://openid.net/specs/openid-connect-core-1_0.html#IDToken)
ลายเซ็น:
export interface DecodedIdToken
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ประเภท | คำอธิบาย |
---|---|---|
aud | สตริง | กลุ่มเป้าหมายที่โทเค็นนี้ต้องการค่านี้คือสตริงที่เท่ากับรหัสโปรเจ็กต์ Firebase ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ Firebase ของคุณ ซึ่งดูได้ใน[การตั้งค่าของโปรเจ็กต์](https://console.firebase.google.com/project/_/settings/general/android:com.random.android) |
เวลาตรวจสอบสิทธิ์ [auth_time] | ตัวเลข | เวลาเป็นวินาทีนับตั้งแต่ Epoch ของ Unix เมื่อการตรวจสอบสิทธิ์ผู้ใช้ปลายทางเกิดขึ้นค่านี้ไม่ได้ตั้งค่าเมื่อสร้างโทเค็นรหัสเฉพาะนี้ แต่ผู้ใช้เข้าสู่ระบบเซสชันนี้เป็นครั้งแรก ในเซสชันเดียว Firebase SDK จะรีเฟรชโทเค็นรหัสของผู้ใช้ทุกชั่วโมง โทเค็นรหัสแต่ละรายการจะมีค่า [iat ](#iat) ต่างกัน แต่มีค่า auth_time เหมือนกัน |
ยืนยันด้วยอีเมล | boolean | ผู้ใช้ต้องมีอีเมล ไม่ว่าอีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัสจะได้รับการยืนยันหรือไม่ |
สตริง | อีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส (หากมี) | |
หมดอายุ | ตัวเลข | เวลาหมดอายุของโทเค็นรหัสเป็นวินาทีนับตั้งแต่ Unix Epoch ซึ่งก็คือเวลาที่โทเค็นรหัสนี้หมดอายุและไม่ควรถือว่าถูกต้องอีกต่อไปFirebase SDK จะรีเฟรชโทเค็นรหัสทุกๆ ชั่วโมงอย่างโปร่งใส ซึ่งจะออกโทเค็นรหัสใหม่โดยที่มีวันหมดอายุสูงสุด 1 ชั่วโมง |
firebase | { ข้อมูลประจำตัว: { [คีย์: สตริง]: ใดๆ; }; sign_in_provider: string; sign_in_second_factor?: string; second_factor_identifier?: string; กลุ่มผู้ใช้?: สตริง; [คีย์: string]: any; } | ข้อมูลเกี่ยวกับเหตุการณ์การลงชื่อเข้าใช้ รวมถึงผู้ให้บริการการลงชื่อเข้าใช้ที่ใช้และรายละเอียดข้อมูลประจำตัวเฉพาะผู้ให้บริการข้อมูลนี้มาจากบริการการตรวจสอบสิทธิ์ Firebase และเป็นการอ้างสิทธิ์ที่จองไว้ในโทเค็นรหัส |
iat | ตัวเลข | โทเค็นรหัสที่ออก ณ เวลา เป็นวินาทีนับตั้งแต่ Unix Epoch ซึ่งก็คือเวลาที่ออกโทเค็นรหัสนี้และควรเริ่มถือว่าถูกต้องFirebase SDK จะรีเฟรชโทเค็นรหัสทุกชั่วโมงอย่างโปร่งใส โดยจะออกโทเค็นรหัสใหม่ด้วยเวลาที่ออกใหม่ หากต้องการดูเวลาที่เกิดเซสชันของผู้ใช้ที่ตรงกับโทเค็นรหัสเป็นครั้งแรก โปรดดูพร็อพเพอร์ตี้ [auth_time ](#auth_time) |
iss | สตริง | ตัวระบุผู้ออกการตอบกลับค่านี้คือ URL ที่มีรูปแบบ https://securetoken.google.com/<PROJECT_ID> โดยที่ <PROJECT_ID> คือรหัสโปรเจ็กต์เดียวกันกับที่ระบุในพร็อพเพอร์ตี้ [aud ](#aud) |
หมายเลขโทรศัพท์ | สตริง | หมายเลขโทรศัพท์ของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส (หากมี) |
รูปภาพ | สตริง | URL รูปภาพของผู้ใช้ที่เป็นเจ้าของโทเค็น ID ถ้ามี |
ย่อย | สตริง | uid ที่เกี่ยวข้องกับผู้ใช้ที่เป็นเจ้าของโทเค็นรหัสระบบจะคัดลอกค่านี้ไปยังพร็อพเพอร์ตี้ [uid ](#uid) เพื่อความสะดวก |
uid | สตริง | uid ที่เกี่ยวข้องกับผู้ใช้ที่เป็นเจ้าของโทเค็นรหัสค่านี้ไม่ได้อยู่ในโทเค็น JWT ที่อ้างสิทธิ์เอง ซึ่งเพิ่มไว้เพื่อความสะดวกและมีการตั้งค่าเป็นค่าของพร็อพเพอร์ตี้ [sub ](#sub) |
DeCodeIdToken.aud
กลุ่มเป้าหมายสำหรับโทเค็นนี้
ค่านี้เป็นสตริงที่เท่ากับรหัสโปรเจ็กต์ Firebase ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ Firebase ของคุณ ซึ่งดูได้ใน[การตั้งค่าของโปรเจ็กต์](https://console.firebase.google.com/project/_/settings/general/android:com.random.android)
ลายเซ็น:
aud: string;
ถอดรหัสรหัสโทเค็น.auth_time
เวลาเป็นวินาทีนับตั้งแต่ Unix Epoch ที่เกิดการตรวจสอบสิทธิ์ผู้ใช้ปลายทาง
ค่านี้จะไม่ได้กำหนดเมื่อสร้างโทเค็นรหัสเฉพาะนี้ แต่เมื่อผู้ใช้เข้าสู่ระบบเซสชันนี้เป็นครั้งแรก ในเซสชันเดียว Firebase SDK จะรีเฟรชโทเค็นรหัสของผู้ใช้ทุกชั่วโมง โทเค็นรหัสแต่ละรายการจะมีค่า [iat
](#iat) ที่ต่างกัน แต่มีค่า auth_time
เหมือนกัน
ลายเซ็น:
auth_time: number;
DecodingIdToken.email_confirm
ผู้ใช้ต้องมีอีเมล ไม่ว่าอีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัสจะได้รับการยืนยันหรือไม่
ลายเซ็น:
email_verified?: boolean;
ถอดรหัสรหัสโทเค็น.email
อีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส (หากมี)
ลายเซ็น:
email?: string;
ถอดรหัสรหัสโทเค็น.exp
เวลาหมดอายุของโทเค็นรหัสเป็นวินาทีนับตั้งแต่ Unix Epoch นั่นคือเวลาที่โทเค็นรหัสนี้หมดอายุและไม่ควรถือว่าถูกต้องอีกต่อไป
Firebase SDK จะรีเฟรชโทเค็นรหัสอย่างโปร่งใสทุกๆ ชั่วโมง ซึ่งจะออกโทเค็นรหัสใหม่ที่มีวันหมดอายุสูงสุด 1 ชั่วโมง
ลายเซ็น:
exp: number;
DeCodeIdToken.firebase
ข้อมูลเกี่ยวกับเหตุการณ์การลงชื่อเข้าใช้ รวมถึงผู้ให้บริการการลงชื่อเข้าใช้ที่ใช้และรายละเอียดข้อมูลประจำตัวเฉพาะผู้ให้บริการ
ข้อมูลนี้ได้มาจากบริการการตรวจสอบสิทธิ์ Firebase และเป็นการอ้างสิทธิ์ที่จองไว้ในโทเค็นรหัส
ลายเซ็น:
firebase: {
identities: {
[key: string]: any;
};
sign_in_provider: string;
sign_in_second_factor?: string;
second_factor_identifier?: string;
tenant?: string;
[key: string]: any;
};
ถอดรหัสรหัสโทเค็น.iat
โทเค็นรหัสที่ออก ณ เวลา เป็นวินาทีนับตั้งแต่ Unix Epoch นั่นคือเวลาที่ออกโทเค็นรหัสนี้และควรเริ่มถือว่าถูกต้อง
Firebase SDK จะรีเฟรชโทเค็นรหัสอย่างโปร่งใสทุกๆ ชั่วโมง โดยจะออกโทเค็นรหัสใหม่ด้วยเวลาที่ออกใหม่ หากต้องการดูเวลาที่เกิดเซสชันของผู้ใช้ที่ตรงกับโทเค็นรหัสเป็นครั้งแรก โปรดดูพร็อพเพอร์ตี้ [auth_time
](#auth_time)
ลายเซ็น:
iat: number;
ถอดรหัสรหัสโทเค็น.iss
ตัวระบุผู้ออกบัตรสำหรับผู้ออกคำตอบ
ค่านี้เป็น URL ในรูปแบบ https://securetoken.google.com/<PROJECT_ID>
โดยที่ <PROJECT_ID>
คือรหัสโปรเจ็กต์เดียวกับที่ระบุในพร็อพเพอร์ตี้ [aud
](#aud)
ลายเซ็น:
iss: string;
ถอดรหัสรหัสโทเค็น.phone_number
หมายเลขโทรศัพท์ของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส (หากมี)
ลายเซ็น:
phone_number?: string;
DecodingIdToken.picture
URL รูปภาพของผู้ใช้ที่เป็นเจ้าของโทเค็น ID ถ้ามี
ลายเซ็น:
picture?: string;
DeCodeIdToken.sub
uid
ที่เกี่ยวข้องกับผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส
ระบบได้คัดลอกค่านี้ไปยังพร็อพเพอร์ตี้ [uid
](#uid) เพื่อความสะดวก
ลายเซ็น:
sub: string;
ถอดรหัสรหัสโทเค็น.uid
uid
ที่เกี่ยวข้องกับผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส
ค่านี้ไม่ได้ใช้ในโทเค็น JWT อ้างสิทธิ์ตัวเอง ซึ่งเพิ่มไว้เพื่อความสะดวกและมีการตั้งค่าเป็นค่าของพร็อพเพอร์ตี้ [sub
](#sub)
ลายเซ็น:
uid: string;