projects

POST /v1/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken

Changed on

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

Request

  • Base URL
    https://firebaseappcheck.googleapis.com
  • URL
    https://firebaseappcheck.googleapis.com/v1/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken
  • Auth
    • OAuth 2 and OAuth 2
      Implicit: https://accounts.google.com/o/oauth2/auth
      Scopes: https://www.googleapis.com/auth/cloud-platform
      Authorization code: https://accounts.google.com/o/oauth2/auth
      Token URL: https://accounts.google.com/o/oauth2/token scopes: https://www.googleapis.com/auth/cloud-platform
    • or OAuth 2 and OAuth 2
      Implicit: https://accounts.google.com/o/oauth2/auth
      Scopes: https://www.googleapis.com/auth/firebase
      Authorization code: https://accounts.google.com/o/oauth2/auth
      Token URL: https://accounts.google.com/o/oauth2/token scopes: https://www.googleapis.com/auth/firebase

Path parameters

projectsIdstring required
appsIdstring required

Request body

deviceTokenstring

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

limitedUseboolean

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

Successful response

tokenstring

The App Check token. App Check tokens are signed JWTs containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be verified by your own custom backends using the Firebase Admin SDK or third-party libraries.

ttlstring google-duration

The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.

Changes

    • info

      the security scope https://www.googleapis.com/auth/cloud-platform was added to the endpoint's security scheme Oauth2

    • info

      the security scope https://www.googleapis.com/auth/cloud-platform was added to the endpoint's security scheme Oauth2c

    • info

      the security scope https://www.googleapis.com/auth/firebase was removed from the endpoint's security scheme Oauth2

    • info

      the security scope https://www.googleapis.com/auth/firebase was removed from the endpoint's security scheme Oauth2c