Method: oauthClients.exchangeAppAttestAttestation

ยอมรับเอกสารรับรอง CBOR ของ App Attest แล้วยืนยันกับ Apple โดยใช้รหัสทีมและ Bundle ID ที่กําหนดค่าไว้ล่วงหน้า หากถูกต้อง จะมีการส่งคืนอาร์ติแฟกต์เอกสารรับรองที่สามารถแลกเปลี่ยนเป็น AppCheckToken โดยใช้ วันที่ oauthClients.exchangeAppAttestAssertion ที่ใช้เวลาเพียง 2 นาที

เพื่อความสะดวกและประสิทธิภาพ ออบเจ็กต์การตอบกลับของเมธอดนี้จะมี AppCheckToken (หากการยืนยันสำเร็จ)

คำขอ HTTP

POST https://firebaseappcheck.googleapis.com/v1beta/{app=oauthClients/*}:exchangeAppAttestAttestation

URL ใช้ การแปลง gRPC ไวยากรณ์

พารามิเตอร์เส้นทาง

พารามิเตอร์
app

string

ต้องระบุ ชื่อทรัพยากรที่เกี่ยวข้องของแอป iOS ในรูปแบบ

projects/{project_number}/apps/{app_id}

หากจำเป็น project_number สามารถแทนที่องค์ประกอบด้วยรหัสโปรเจ็กต์ของโปรเจ็กต์ Firebase ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวระบุโปรเจ็กต์ใน AIP 2510 มาตรฐาน

หรือหากมีการเรียกใช้วิธีการนี้สำหรับไคลเอ็นต์ OAuth ที่ปกป้องโดย App Check ช่องนี้อาจอยู่ในรูปแบบดังนี้

oauthClients/{oauth_client_id}

คุณดูรหัสไคลเอ็นต์ OAuth สำหรับไคลเอ็นต์ OAuth ได้ในคอนโซล Google Cloud โปรดทราบว่าในขณะนี้ระบบรองรับเฉพาะไคลเอ็นต์ OAuth ของ iOS เท่านั้น และต้องลิงก์กับแอป Firebase ของ iOS ที่เกี่ยวข้อง โปรดดู เอกสารประกอบ เพื่อดูข้อมูลเพิ่มเติม

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "attestationStatement": string,
  "challenge": string,
  "keyId": string,
  "limitedUse": boolean
}
ช่อง
attestationStatement

string ( bytes format)

ต้องระบุ คำสั่ง App Attest ที่แสดงโดย App Attest API ฝั่งไคลเอ็นต์ นี่คือออบเจ็กต์ CBOR ที่เข้ารหัส base64url ในการตอบกลับ JSON

สตริงที่เข้ารหัสฐาน 64

challenge

string ( bytes format)

ต้องระบุ ระบบส่งการยืนยันแบบครั้งเดียวไปยัง oauthClients.generateAppAttestChallenge ที่ใช้เวลาเพียง 2 นาที

สตริงที่เข้ารหัสฐาน 64

keyId

string ( bytes format)

ต้องระบุ รหัสคีย์ที่ App Attest สร้างขึ้นสำหรับแอปไคลเอ็นต์

สตริงที่เข้ารหัสฐาน 64

limitedUse

boolean

ระบุว่าเอกสารรับรองนี้มีไว้สำหรับใช้ใน การใช้งานที่จำกัด ( true ) หรือ ตามเซสชัน ( false ) หากต้องการเปิดใช้เอกสารรับรองนี้กับ การป้องกันการเล่นซ้ำ ฟีเจอร์ ตั้งค่าเป็น true ที่ใช้เวลาเพียง 2 นาที ค่าเริ่มต้นคือ false ที่ใช้เวลาเพียง 2 นาที

เนื้อหาการตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีตัวอย่าง ExchangeAppAttestAttestationResponse ที่ใช้เวลาเพียง 2 นาที