Verifies the given App Check token and returns token usage signals that callers may act upon. This method currently only supports App Check tokens exchanged from the following attestation providers:
- Play Integrity API
- App Attest
-
DeviceCheck (
DCDevice
tokens) - reCAPTCHA Enterprise
- reCAPTCHA v3
- Custom providers
App Check tokens exchanged from debug secrets are also supported. Calling this method on an otherwise valid App Check token with an unsupported provider will cause an HTTP 400 error to be returned.
Returns whether this token was already consumed before this call. If this is the first time this method has seen the given App Check token, the field
in the response will be absent. The given token will then be marked as
alreadyConsumed
alreadyConsumed
(set to
true
) for all future invocations of this method for that token.
Note that if the given App Check token is invalid, an HTTP 403 error is returned instead of a response object, regardless whether the token was already consumed.
Currently, when evaluating whether an App Check token was already consumed, only calls to this exact method are counted. Use of the App Check token elsewhere will not mark the token as being already consumed.
The caller must have the
firebaseappcheck.appCheckTokens.verify
permission to call this method. This permission is part of the
Firebase App Check Token Verifier role
.
HTTP request
POST https://firebaseappcheck.googleapis.com/v1beta/{project=projects/*}:verifyAppCheckToken
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
project
|
Required. The relative resource name of the project for which the token was minted, in the format:
If necessary, the
|
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "appCheckToken": string } |
Fields | |
---|---|
appCheckToken
|
Required. The App Check token to verify. App Check tokens exchanged from the SafetyNet provider are not supported; an HTTP 400 error will be returned. |
Response body
Response message for the
projects.verifyAppCheckToken
method.
If successful, the response body contains data with the following structure:
JSON representation |
---|
{ "alreadyConsumed": boolean } |
Fields | |
---|---|
alreadyConsumed
|
Whether this token was already consumed.
If this is the first time this method has seen the given App Check token, this field will be omitted from the response. The given token will then be marked as
Note that if the given App Check token is invalid, an HTTP 403 error is returned instead of a response containing this field, regardless whether the token was already consumed. |
Authorization scopes
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/firebase
For more information, see the Authentication Overview .