DecodedIdToken interface

อินเทอร์เฟซที่แสดงโทเค็น 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 ผู้ใช้ต้องมีอีเมล ไม่ว่าอีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัสจะได้รับการยืนยันหรือไม่
email สตริง อีเมลของผู้ใช้ที่เป็นเจ้าของโทเค็นรหัส (หากมี)
หมดอายุ ตัวเลข เวลาหมดอายุของโทเค็นรหัสเป็นวินาทีนับตั้งแต่ 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;