Method: projects.apps.exchangeAppAttestAttestation

Aceita um atestado CBOR do App Attest e o verifica com a Apple usando seus IDs de pacote e de equipe pré-configurados. Se válido, retorna um artefato de atestado que pode ser trocado posteriormente por um AppCheckToken usando apps.exchangeAppAttestAssertion .

Para conveniência e desempenho, o objeto de resposta desse método também conterá um AppCheckToken (se a verificação for bem-sucedida).

Solicitação HTTP

POST https://firebaseappcheck.googleapis.com/v1/{app=projects/*/apps/*}:exchangeAppAttestAttestation

O URL usa a sintaxe de transcodificação gRPC .

Parâmetros de caminho

Parâmetros
app

string

Obrigatório. O nome de recurso relativo do app iOS, no formato:

projects/{project_number}/apps/{app_id}

Se necessário, o elemento project_number pode ser substituído pelo ID do projeto do Firebase. Saiba mais sobre como usar identificadores de projeto no padrão AIP 2510 do Google.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "attestationStatement": string,
  "challenge": string,
  "keyId": string,
  "limitedUse": boolean
}
Campos
attestationStatement

string ( bytes format)

Obrigatório. A instrução App Attest retornada pela API App Attest do lado do cliente. Este é um objeto CBOR codificado em base64url na resposta JSON.

Uma string codificada em base64.

challenge

string ( bytes format)

Obrigatório. Um desafio único retornado por uma chamada imediatamente anterior para apps.generateAppAttestChallenge .

Uma string codificada em base64.

keyId

string ( bytes format)

Obrigatório. O ID da chave gerado pelo App Attest para o app cliente.

Uma string codificada em base64.

limitedUse

boolean

Especifica se esse atestado deve ser usado em um contexto de uso limitado ( true ) ou baseado em sessão ( false ). Para permitir que esse atestado seja usado com o recurso de proteção contra repetição , defina-o como true . O valor padrão é false .

Corpo da resposta

Mensagem de resposta para o método apps.exchangeAppAttestAttestation .

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "artifact": string,
  "appCheckToken": {
    object (AppCheckToken)
  }
}
Campos
artifact

string ( bytes format)

Um artefato que pode ser usado em chamadas futuras para apps.exchangeAppAttestAssertion .

Uma string codificada em base64.

appCheckToken

object ( AppCheckToken )

Encapsula um token do App Check.