Method: oauthClients.exchangeAppAttestAttestation

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

ออบเจ็กต์การตอบกลับของเมธอดนี้จะมี 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 ของ Google

หรือหากเรียกใช้เมธอดนี้สำหรับไคลเอ็นต์ 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 ก่อนหน้าทันที

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

keyId

string ( bytes format)

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

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

limitedUse

boolean

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

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

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ ExchangeAppAttestAttestationResponse