Method: projects.apps.exchangeAppAttestAttestation

Aceita um atestado CBOR do App Attest e o verifica com a Apple usando sua equipe pré-configurada e IDs de pacotes. 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á uma AppCheckToken (se a verificação for concluída).

Solicitação HTTP

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

O URL usa Transcodificação de gRPC .

Parâmetros de caminho

Parâmetros
app

string

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

projects/{project_number}/apps/{app_id}

Se necessário, os project_number pode ser substituído pelo ID do projeto do Firebase. Saiba mais sobre o uso de identificadores de projetos na AIP 2510 padrão.

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. Instrução do App Attest retornada pela API App Attest do lado do cliente. Esse é 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 este atestado deve ser usado em uma uso limitado ( true ) ou com base na sessão ( false ). Para permitir que esse atestado seja usado com o proteção contra repetição defina-o como true , O valor padrão é false ,

Corpo da resposta

Mensagem de resposta para o 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.