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 設定。