apps
Creates, updates, deletes, gets or lists an apps
resource.
Overview
Name | apps |
Type | Resource |
Id | firebase.appcheck.apps |
Fields
The following fields are returned by SELECT
queries:
SELECT
not supported for this resource, use SHOW METHODS
to view available operations for the resource.
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
exchange_safety_net_token | exec | projectsId , appsId | Validates a SafetyNet token. If valid, returns an AppCheckToken. | |
generate_play_integrity_challenge | exec | projectsId , appsId | Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls. | |
exchange_play_integrity_token | exec | projectsId , appsId | Validates an integrity verdict response token from Play Integrity. If valid, returns an AppCheckToken. | |
exchange_device_check_token | exec | projectsId , appsId | Accepts a device_token issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken. | |
exchange_recaptcha_v3_token | exec | projectsId , appsId | Validates a reCAPTCHA v3 response token. If valid, returns an AppCheckToken. | |
exchange_recaptcha_enterprise_token | exec | projectsId , appsId | Validates a reCAPTCHA Enterprise response token. If valid, returns an AppCheckToken. | |
exchange_custom_token | exec | projectsId , appsId | Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken. | |
exchange_debug_token | exec | projectsId , appsId | Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse. | |
generate_app_attest_challenge | exec | projectsId , appsId | Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls. | |
exchange_app_attest_attestation | exec | projectsId , appsId | Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful). | |
exchange_app_attest_assertion | exec | projectsId , appsId | Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken. |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
appsId | string | |
projectsId | string |
Lifecycle Methods
- exchange_safety_net_token
- generate_play_integrity_challenge
- exchange_play_integrity_token
- exchange_device_check_token
- exchange_recaptcha_v3_token
- exchange_recaptcha_enterprise_token
- exchange_custom_token
- exchange_debug_token
- generate_app_attest_challenge
- exchange_app_attest_attestation
- exchange_app_attest_assertion
Validates a SafetyNet token. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_safety_net_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"safetyNetToken": "{{ safetyNetToken }}"
}';
Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.
EXEC firebase.appcheck.apps.generate_play_integrity_challenge
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required;
Validates an integrity verdict response token from Play Integrity. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_play_integrity_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"playIntegrityToken": "{{ playIntegrityToken }}",
"limitedUse": {{ limitedUse }}
}';
Accepts a device_token
issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_device_check_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"deviceToken": "{{ deviceToken }}",
"limitedUse": {{ limitedUse }}
}';
Validates a reCAPTCHA v3 response token. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_recaptcha_v3_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"recaptchaV3Token": "{{ recaptchaV3Token }}",
"limitedUse": {{ limitedUse }}
}';
Validates a reCAPTCHA Enterprise response token. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_recaptcha_enterprise_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"recaptchaEnterpriseToken": "{{ recaptchaEnterpriseToken }}",
"limitedUse": {{ limitedUse }}
}';
Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_custom_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"customToken": "{{ customToken }}",
"limitedUse": {{ limitedUse }}
}';
Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.
EXEC firebase.appcheck.apps.exchange_debug_token
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"debugToken": "{{ debugToken }}",
"limitedUse": {{ limitedUse }}
}';
Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.
EXEC firebase.appcheck.apps.generate_app_attest_challenge
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required;
Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).
EXEC firebase.appcheck.apps.exchange_app_attest_attestation
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"attestationStatement": "{{ attestationStatement }}",
"challenge": "{{ challenge }}",
"keyId": "{{ keyId }}",
"limitedUse": {{ limitedUse }}
}';
Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.
EXEC firebase.appcheck.apps.exchange_app_attest_assertion
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required
@@json=
'{
"artifact": "{{ artifact }}",
"assertion": "{{ assertion }}",
"challenge": "{{ challenge }}",
"limitedUse": {{ limitedUse }}
}';