exchangeAppAttestAttestation method
- GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest request,
- String app, {
- String? $fields,
Accepts an App Attest CBOR attestation and verifies it with Apple using the developer's preconfigured team and bundle IDs.
If valid, returns an attestation artifact that can later be exchanged for an AttestationTokenResponse using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an App Check token encapsulated in an AttestationTokenResponse (if the verification is successful).
request
- The metadata request object.
Request parameters:
app
- 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.
Value must have pattern ^projects/\[^/\]+/apps/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse>
exchangeAppAttestAttestation(
GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest request,
core.String app, {
core.String? $fields,
}) async {
final _body = convert.json.encode(request);
final _queryParams = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final _url = 'v1beta/' +
core.Uri.encodeFull('$app') +
':exchangeAppAttestAttestation';
final _response = await _requester.request(
_url,
'POST',
body: _body,
queryParams: _queryParams,
);
return GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse
.fromJson(_response as core.Map<core.String, core.dynamic>);
}