Method: oauthClients.exchangeAppAttestAttestation

接受 App Attest CBOR 证明,并使用您预配置的团队和软件包 ID 通过 Apple 验证该证明。如果有效,则返回认证工件,稍后可以使用 oauthClients.exchangeAppAttestAssertion 将其交换为 AppCheckToken

为了方便起见并提升性能,此方法的响应对象还包含 AppCheckToken (如果验证成功)。

HTTP 请求

POST https://firebaseappcheck.googleapis.com/v1beta/{app=oauthClients/*}:exchangeAppAttestAttestation

网址采用 gRPC 转码 语法。

路径参数

参数
app

string

必需。iOS 应用的相对资源名称,格式为:

projects/{project_number}/apps/{app_id}

如有必要,可以将 project_number 元素替换为 Firebase 项目的 ID。详细了解如何按照 Google 的 AIP 2510 标准使用项目标识符。

或者,如果针对受 App Check 保护的 OAuth 客户端调用此方法,此字段的格式也可以是:

oauthClients/{oauth_client_id}

您可以在 Google Cloud 控制台中查看 OAuth 客户端的 OAuth 客户端 ID。请注意,目前仅支持 iOS OAuth 客户端,并且这些客户端必须与相应的 iOS Firebase 应用相关联。如需了解详情,请参阅 相关文档

请求正文

请求正文包含结构如下的数据:

JSON 表示法
{
  "attestationStatement": string,
  "challenge": string,
  "keyId": string,
  "limitedUse": boolean
}
字段
attestationStatement

string ( bytes format)

必需。客户端 App Attest API 返回的 App Attest 语句。这是 JSON 响应中采用 base64url 编码的 CBOR 对象。

使用 base64 编码的字符串。

challenge

string ( bytes format)

必需。由刚刚调用 oauthClients.generateAppAttestChallenge 返回的一次性质询。

使用 base64 编码的字符串。

keyId

string ( bytes format)

必需。App Attest 为客户端应用生成的密钥 ID。

使用 base64 编码的字符串。

limitedUse

boolean

指定此证明是用于有限使用 ( true ) 还是基于会话 ( false ) 的环境。如需启用此认证以便与 重放攻击防范 功能搭配使用,请将此项设为 true 。默认值为 false

响应正文

如果成功,响应正文将包含一个 ExchangeAppAttestAttestationResponse 实例。