Firebase App Check API

Firebase App Check 可与其他 Firebase 服务搭配使用,以帮助保护您的后端资源免遭滥用,例如账单欺诈或钓鱼式攻击。

服务:firebaseappcheck.googleapis.com

要调用此服务,我们建议您使用 Google 提供的客户端库。如果您的应用需要使用您自己的库来调用此服务,则在发出 API 请求时应使用以下信息。

发现文档

发现文档是用于说明和使用 REST API 的机器可读规范。它用于构建客户端库、IDE 插件以及与 Google API 交互的其他工具。一项服务可能会提供多个发现文档。此服务提供了以下发现文档:

服务端点

服务端点是指定 API 服务的网络地址的基本网址。一项服务可能有多个服务端点。此服务具有以下服务端点,下面的所有 URI 都与此服务端点相关:

  • https://firebaseappcheck.googleapis.com

REST 资源:v1beta.jwks

方法
get GET /v1beta/{name}
返回由 RFC 7517 指定的公共 JWK 集,可用于验证 App Check 令牌。

REST 资源:v1beta.oauthClients

方法
exchangeAppAttestAssertion POST /v1beta/{app=oauthClients/*}:exchangeAppAttestAssertion
接受 App Attest 断言和工件,并且之前从 ExchangeAppAttestAttestation 获取的工件会通过 Apple 进行验证。
exchangeAppAttestAttestation POST /v1beta/{app=oauthClients/*}:exchangeAppAttestAttestation
接受 App Attest CBOR 证明,并使用您的预配置团队和软件包 ID 通过 Apple 验证该证明。
exchangeDebugToken POST /v1beta/{app=oauthClients/*}:exchangeDebugToken
验证您之前使用 CreateDebugToken 创建的调试令牌密钥。
generateAppAttestChallenge POST /v1beta/{app=oauthClients/*}:generateAppAttestChallenge
生成一个质询,以保护紧接着调用 ExchangeAppAttestAttestationExchangeAppAttestAssertion 的完整性。

REST 资源:v1beta.projects

方法
verifyAppCheckToken POST /v1beta/{project=projects/*}:verifyAppCheckToken
验证给定的 App Check 令牌,并返回令牌使用情况信号,调用方可以对其执行操作。

REST 资源:v1beta.projects.apps

方法
exchangeAppAttestAssertion POST /v1beta/{app=projects/*/apps/*}:exchangeAppAttestAssertion
接受 App Attest 断言和工件,并且之前从 ExchangeAppAttestAttestation 获取的工件会通过 Apple 进行验证。
exchangeAppAttestAttestation POST /v1beta/{app=projects/*/apps/*}:exchangeAppAttestAttestation
接受 App Attest CBOR 证明,并使用您的预配置团队和软件包 ID 通过 Apple 验证该证明。
exchangeCustomToken POST /v1beta/{app=projects/*/apps/*}:exchangeCustomToken
验证使用项目的 Admin SDK 服务账号凭据签名的自定义令牌。
exchangeDebugToken POST /v1beta/{app=projects/*/apps/*}:exchangeDebugToken
验证您之前使用 CreateDebugToken 创建的调试令牌密钥。
exchangeDeviceCheckToken POST /v1beta/{app=projects/*/apps/*}:exchangeDeviceCheckToken
接受 DeviceCheck 颁发的 device_token,并尝试通过 Apple 验证。
exchangePlayIntegrityToken POST /v1beta/{app=projects/*/apps/*}:exchangePlayIntegrityToken
验证 Play Integrity 的完整性判定响应令牌
exchangeRecaptchaEnterpriseToken POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaEnterpriseToken
验证 reCAPTCHA Enterprise 响应令牌
exchangeRecaptchaToken
(deprecated)
POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaToken
验证 reCAPTCHA v3 响应令牌
exchangeRecaptchaV3Token POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaV3Token
验证 reCAPTCHA v3 响应令牌
exchangeSafetyNetToken
(deprecated)
POST /v1beta/{app=projects/*/apps/*}:exchangeSafetyNetToken
验证 SafetyNet 令牌
generateAppAttestChallenge POST /v1beta/{app=projects/*/apps/*}:generateAppAttestChallenge
生成一个质询,以保护紧接着调用 ExchangeAppAttestAttestationExchangeAppAttestAssertion 的完整性。
generatePlayIntegrityChallenge POST /v1beta/{app=projects/*/apps/*}:generatePlayIntegrityChallenge
生成一个质询,以保护向 Play Integrity API 发出的完整性判定请求的完整性。

REST 资源:v1beta.projects.apps.appAttestConfig

方法
batchGet GET /v1beta/{parent=projects/*}/apps/-/appAttestConfig:batchGet
以原子方式获取指定应用列表的 AppAttestConfig
get GET /v1beta/{name=projects/*/apps/*/appAttestConfig}
获取指定应用的 AppAttestConfig
patch PATCH /v1beta/{appAttestConfig.name=projects/*/apps/*/appAttestConfig}
更新指定应用的 AppAttestConfig

REST 资源:v1beta.projects.apps.debugTokens

方法
create POST /v1beta/{parent=projects/*/apps/*}/debugTokens
为指定应用创建新的 DebugToken
delete DELETE /v1beta/{name=projects/*/apps/*/debugTokens/*}
删除指定的 DebugToken
get GET /v1beta/{name=projects/*/apps/*/debugTokens/*}
获取指定的 DebugToken
list GET /v1beta/{parent=projects/*/apps/*}/debugTokens
列出指定应用的所有 DebugToken
patch PATCH /v1beta/{debugToken.name=projects/*/apps/*/debugTokens/*}
更新指定的 DebugToken

REST 资源:v1beta.projects.apps.deviceCheckConfig

方法
batchGet GET /v1beta/{parent=projects/*}/apps/-/deviceCheckConfig:batchGet
以原子方式获取指定应用列表的 DeviceCheckConfig
get GET /v1beta/{name=projects/*/apps/*/deviceCheckConfig}
获取指定应用的 DeviceCheckConfig
patch PATCH /v1beta/{deviceCheckConfig.name=projects/*/apps/*/deviceCheckConfig}
更新指定应用的 DeviceCheckConfig

REST 资源:v1beta.projects.apps.playIntegrityConfig

方法
batchGet GET /v1beta/{parent=projects/*}/apps/-/playIntegrityConfig:batchGet
以原子方式获取指定应用列表的 PlayIntegrityConfig
get GET /v1beta/{name=projects/*/apps/*/playIntegrityConfig}
获取指定应用的 PlayIntegrityConfig
patch PATCH /v1beta/{playIntegrityConfig.name=projects/*/apps/*/playIntegrityConfig}
更新指定应用的 PlayIntegrityConfig

REST 资源:v1beta.projects.apps.recaptchaConfig

方法
batchGet
(deprecated)
GET /v1beta/{parent=projects/*}/apps/-/recaptchaConfig:batchGet
以原子方式获取指定应用列表的 RecaptchaConfig
get
(deprecated)
GET /v1beta/{name=projects/*/apps/*/recaptchaConfig}
获取指定应用的 RecaptchaConfig
patch
(deprecated)
PATCH /v1beta/{recaptchaConfig.name=projects/*/apps/*/recaptchaConfig}
更新指定应用的 RecaptchaConfig

REST 资源:v1beta.projects.apps.recaptchaEnterpriseConfig

方法
batchGet GET /v1beta/{parent=projects/*}/apps/-/recaptchaEnterpriseConfig:batchGet
以原子方式获取指定应用列表的 RecaptchaEnterpriseConfig
get GET /v1beta/{name=projects/*/apps/*/recaptchaEnterpriseConfig}
获取指定应用的 RecaptchaEnterpriseConfig
patch PATCH /v1beta/{recaptchaEnterpriseConfig.name=projects/*/apps/*/recaptchaEnterpriseConfig}
更新指定应用的 RecaptchaEnterpriseConfig

REST 资源:v1beta.projects.apps.recaptchaV3Config

方法
batchGet GET /v1beta/{parent=projects/*}/apps/-/recaptchaV3Config:batchGet
以原子方式获取指定应用列表的 RecaptchaV3Config
get GET /v1beta/{name=projects/*/apps/*/recaptchaV3Config}
获取指定应用的 RecaptchaV3Config
patch PATCH /v1beta/{recaptchaV3Config.name=projects/*/apps/*/recaptchaV3Config}
更新指定应用的 RecaptchaV3Config

REST 资源:v1beta.projects.apps.safetyNetConfig

方法
batchGet
(deprecated)
GET /v1beta/{parent=projects/*}/apps/-/safetyNetConfig:batchGet
以原子方式获取指定应用列表的 SafetyNetConfig
get
(deprecated)
GET /v1beta/{name=projects/*/apps/*/safetyNetConfig}
获取指定应用的 SafetyNetConfig
patch
(deprecated)
PATCH /v1beta/{safetyNetConfig.name=projects/*/apps/*/safetyNetConfig}
更新指定应用的 SafetyNetConfig

REST 资源:v1beta.projects.services

方法
batchUpdate POST /v1beta/{parent=projects/*}/services:batchUpdate
以原子方式更新指定的 Service 配置。
get GET /v1beta/{name=projects/*/services/*}
获取指定服务名称的 Service 配置。
list GET /v1beta/{parent=projects/*}/services
列出指定项目的所有 Service 配置。
patch PATCH /v1beta/{service.name=projects/*/services/*}
更新指定的 Service 配置。

REST 资源:v1.jwks

方法
get GET /v1/{name}
返回由 RFC 7517 指定的公共 JWK 集,可用于验证 App Check 令牌。

REST 资源:v1.projects.apps

方法
exchangeAppAttestAssertion POST /v1/{app=projects/*/apps/*}:exchangeAppAttestAssertion
接受 App Attest 断言和工件,并且之前从 ExchangeAppAttestAttestation 获取的工件会通过 Apple 进行验证。
exchangeAppAttestAttestation POST /v1/{app=projects/*/apps/*}:exchangeAppAttestAttestation
接受 App Attest CBOR 证明,并使用您的预配置团队和软件包 ID 通过 Apple 验证该证明。
exchangeCustomToken POST /v1/{app=projects/*/apps/*}:exchangeCustomToken
验证使用项目的 Admin SDK 服务账号凭据签名的自定义令牌。
exchangeDebugToken POST /v1/{app=projects/*/apps/*}:exchangeDebugToken
验证您之前使用 CreateDebugToken 创建的调试令牌密钥。
exchangeDeviceCheckToken POST /v1/{app=projects/*/apps/*}:exchangeDeviceCheckToken
接受 DeviceCheck 颁发的 device_token,并尝试通过 Apple 验证。
exchangePlayIntegrityToken POST /v1/{app=projects/*/apps/*}:exchangePlayIntegrityToken
验证 Play Integrity 的完整性判定响应令牌
exchangeRecaptchaEnterpriseToken POST /v1/{app=projects/*/apps/*}:exchangeRecaptchaEnterpriseToken
验证 reCAPTCHA Enterprise 响应令牌
exchangeRecaptchaV3Token POST /v1/{app=projects/*/apps/*}:exchangeRecaptchaV3Token
验证 reCAPTCHA v3 响应令牌
exchangeSafetyNetToken
(deprecated)
POST /v1/{app=projects/*/apps/*}:exchangeSafetyNetToken
验证 SafetyNet 令牌
generateAppAttestChallenge POST /v1/{app=projects/*/apps/*}:generateAppAttestChallenge
生成一个质询,以保护紧接着调用 ExchangeAppAttestAttestationExchangeAppAttestAssertion 的完整性。
generatePlayIntegrityChallenge POST /v1/{app=projects/*/apps/*}:generatePlayIntegrityChallenge
生成一个质询,以保护向 Play Integrity API 发出的完整性判定请求的完整性。

REST 资源:v1.projects.apps.appAttestConfig

方法
batchGet GET /v1/{parent=projects/*}/apps/-/appAttestConfig:batchGet
以原子方式获取指定应用列表的 AppAttestConfig
get GET /v1/{name=projects/*/apps/*/appAttestConfig}
获取指定应用的 AppAttestConfig
patch PATCH /v1/{appAttestConfig.name=projects/*/apps/*/appAttestConfig}
更新指定应用的 AppAttestConfig

REST 资源:v1.projects.apps.debugTokens

方法
create POST /v1/{parent=projects/*/apps/*}/debugTokens
为指定应用创建新的 DebugToken
delete DELETE /v1/{name=projects/*/apps/*/debugTokens/*}
删除指定的 DebugToken
get GET /v1/{name=projects/*/apps/*/debugTokens/*}
获取指定的 DebugToken
list GET /v1/{parent=projects/*/apps/*}/debugTokens
列出指定应用的所有 DebugToken
patch PATCH /v1/{debugToken.name=projects/*/apps/*/debugTokens/*}
更新指定的 DebugToken

REST 资源:v1.projects.apps.deviceCheckConfig

方法
batchGet GET /v1/{parent=projects/*}/apps/-/deviceCheckConfig:batchGet
以原子方式获取指定应用列表的 DeviceCheckConfig
get GET /v1/{name=projects/*/apps/*/deviceCheckConfig}
获取指定应用的 DeviceCheckConfig
patch PATCH /v1/{deviceCheckConfig.name=projects/*/apps/*/deviceCheckConfig}
更新指定应用的 DeviceCheckConfig

REST 资源:v1.projects.apps.playIntegrityConfig

方法
batchGet GET /v1/{parent=projects/*}/apps/-/playIntegrityConfig:batchGet
以原子方式获取指定应用列表的 PlayIntegrityConfig
get GET /v1/{name=projects/*/apps/*/playIntegrityConfig}
获取指定应用的 PlayIntegrityConfig
patch PATCH /v1/{playIntegrityConfig.name=projects/*/apps/*/playIntegrityConfig}
更新指定应用的 PlayIntegrityConfig

REST 资源:v1.projects.apps.recaptchaEnterpriseConfig

方法
batchGet GET /v1/{parent=projects/*}/apps/-/recaptchaEnterpriseConfig:batchGet
以原子方式获取指定应用列表的 RecaptchaEnterpriseConfig
get GET /v1/{name=projects/*/apps/*/recaptchaEnterpriseConfig}
获取指定应用的 RecaptchaEnterpriseConfig
patch PATCH /v1/{recaptchaEnterpriseConfig.name=projects/*/apps/*/recaptchaEnterpriseConfig}
更新指定应用的 RecaptchaEnterpriseConfig

REST 资源:v1.projects.apps.recaptchaV3Config

方法
batchGet GET /v1/{parent=projects/*}/apps/-/recaptchaV3Config:batchGet
以原子方式获取指定应用列表的 RecaptchaV3Config
get GET /v1/{name=projects/*/apps/*/recaptchaV3Config}
获取指定应用的 RecaptchaV3Config
patch PATCH /v1/{recaptchaV3Config.name=projects/*/apps/*/recaptchaV3Config}
更新指定应用的 RecaptchaV3Config

REST 资源:v1.projects.apps.safetyNetConfig

方法
batchGet
(deprecated)
GET /v1/{parent=projects/*}/apps/-/safetyNetConfig:batchGet
以原子方式获取指定应用列表的 SafetyNetConfig
get
(deprecated)
GET /v1/{name=projects/*/apps/*/safetyNetConfig}
获取指定应用的 SafetyNetConfig
patch
(deprecated)
PATCH /v1/{safetyNetConfig.name=projects/*/apps/*/safetyNetConfig}
更新指定应用的 SafetyNetConfig

REST 资源:v1.projects.services

方法
batchUpdate POST /v1/{parent=projects/*}/services:batchUpdate
以原子方式更新指定的 Service 配置。
get GET /v1/{name=projects/*/services/*}
获取指定服务名称的 Service 配置。
list GET /v1/{parent=projects/*}/services
列出指定项目的所有 Service 配置。
patch PATCH /v1/{service.name=projects/*/services/*}
更新指定的 Service 配置。