Configuración de Android y verificación del servidor
Copia un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
El sistema nativo de Android se utiliza
Sección titulada “El sistema nativo de Android se utiliza”En Android, este plugin utiliza El estándar de integridad de Google Play API:
prepareIntegrityTokenduranteprepare()requestStandardIntegrityTokenparacreateAttestation()ycreateAssertion()
Requisitos
Requisitos- Aplicación de Android distribuida a través del ecosistema de Google Play
- Los servicios de Google Play están disponibles en el dispositivo
- Play Integrity API enabled for your app
- Se ha configurado el número de proyecto de Google Cloud
Configuración de Google
Habilitar- y Integridad de Play API en su proyecto de Cloud de Google.
- Abra la consola de Play y configure el acceso a la integridad de Play para su aplicación.
- Proporcionar
cloudProjectNumbera la extensión.
Capacitor config
Sección titulada “Capacitor config”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}También puede pasar cloudProjectNumber por llamada en opciones de método.
Flujo del cliente
Sección titulada “Flujo del cliente”import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare({ cloudProjectNumber: '123456789012',});
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});token es un token de integridad de Play y debe ser descodificado en el lado del servidor.
Flujo de trabajo de servidor (Android)
Sección titulada “Flujo de trabajo de servidor (Android)”Registro (createAttestation)
Sección titulada “Registro (createAttestation)”- El servidor crea un token de una sola vez
challenge. - La aplicación llama
createAttestation({ keyId, challenge }). - El servidor llama a Google
decodeIntegrityTokenAPI. - El servidor verifica al menos:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNameiguala su identificador de aplicación AndroidappIntegrity.certificateSha256Digestcontiene el digest de certificado de firma de liberación de su aplicación- los veredictos de integridad coinciden con su política de seguridad
Solicitar protección (createAssertion)createAssertion)
Sección titulada “Solicitar protección (createAssertion)”- El servidor crea un token de una sola vez
payload. - La aplicación llama
createAssertion({ keyId, payload }). - El servidor descifra el token y verifica
requestHash === base64url(SHA256(payload)). - Aplicar la prevención de retransmisiones (uso único + TTL) y la política de veredictos de integridad.
esquema de Android
Sección titulada “Esquema de Android”sequenceDiagram participant App as Android App participant Plugin as AppAttest plugin participant PlaySDK as Play Integrity SDK participant BE as Backend participant Google as decodeIntegrityToken API
App->>Plugin: prepare(cloudProjectNumber) Plugin->>PlaySDK: prepareIntegrityToken() PlaySDK-->>Plugin: provider handle (keyId)
BE->>App: one-time challenge App->>Plugin: createAttestation(keyId, challenge) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + app identity + verdicts
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token App->>BE: token + payload + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + replay policyContrato de pago mínimo de backend
Sección titulada “Contrato de pago mínimo de backend”Registro:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Declaración:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Continuar desde Configuración de Android y Verificación de Backend
Sección titulada “Continuar desde Configuración de Android y Verificación de Backend”Si estás utilizando Configuración de Android y Verificación de Backend para planificar la seguridad y la conformidad, conecta con Usando @capgo/capacitor-app-attest para la capacidad nativa en Usando @capgo/capacitor-app-attest, Cifrado para el detalle de implementación en Cifrado, Cumplimiento para el detalle de implementación en Cumplimiento, Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad, y Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad.