Method: projects.apps.exchangeDeviceCheckToken

Accepts a deviceToken issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken .

HTTP request

POST https://firebaseappcheck.googleapis.com/v1beta/{app=projects/*/apps/*}:exchangeDeviceCheckToken

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
app

string

Required. The relative resource name of the iOS app, in the format:

projects/{project_number}/apps/{app_id}

If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's AIP 2510 standard.

Request body

The request body contains data with the following structure:

JSON representation
{
  "deviceToken": string,
  "limitedUse": boolean
}
Fields
deviceToken

string

Required. The deviceToken as returned by Apple's client-side DeviceCheck API . This is the base64 encoded Data (Swift) or NSData (ObjC) object.

limitedUse

boolean

Specifies whether this attestation is for use in a limited use ( true ) or session based ( false ) context. To enable this attestation to be used with the replay protection feature, set this to true . The default value is false .

Response body

If successful, the response body contains an instance of AppCheckToken .