안드로이드 설정 및 백엔드 검증
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하세요.
안드로이드 네이티브 시스템 사용
안드로이드에서 이 플러그인은구글 플레이 인TEGRITY 표준 __CAPGO_KEEP_0__ Google Play Integrity Standard API:
prepareIntegrityTokenduringprepare()requestStandardIntegrityTokenforcreateAttestation()및createAssertion()
- 장치에 Google Play 서비스가 사용 가능합니다.
- Play Integrity __CAPGO_KEEP_0__가 앱에 활성화되어 있습니다.
- 애플리케이션에 Play Integrity API 활성화
- Google 설정
- Google 설정 Play Integrity API Google Cloud 프로젝트 내에서.
- Play Console을 열고 앱에 대한 Play Integrity 접근 권한을 구성하세요.
- 제공
cloudProjectNumber플러그인에
Capacitor 설정
Capacitor 설정plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}클립보드에 복사 cloudProjectNumber 메소드 옵션에서 호출당할 수 있는
클라이언트 흐름
클라이언트 흐름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 Play Integrity 토큰이므로 서버측에서 디코딩해야 합니다.
Android 백엔드 워크플로우
Android 백엔드 워크플로우Registration (createAttestation)
Android 백엔드가 일회용- 앱이 호출합니다.
challenge. - App 호출
createAttestation({ keyId, challenge }). - __CAPGO_KEEP_0__.
decodeIntegrityTokenAPI. - Android 애플리케이션 ID와 일치합니다.
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageName__CAPGO_KEEP_0__.appIntegrity.certificateSha256Digestrelease signing cert digest를 포함합니다.- 보안 정책에 따라서 integrity 판단이 일치합니다.
Request 보호 (createAssertion)createAssertion)
Request 보호 (createAssertion) 섹션- 백엔드가 일회용
payload. - 앱이 호출합니다.
createAssertion({ keyId, payload }). - 백엔드가 토큰을 해독하고
requestHash === base64url(SHA256(payload)). - 재생 방지 (단일 사용 + TTL)와 integrity 판단 정책을 강제합니다.
Android 스키마
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 policy최소 백엔드 페이로드 계약
Section titled “최소 백엔드 페이로드 계약”등록:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}보증:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Android 설정 및 백엔드 검증에서 계속
Section titled “Android 설정 및 백엔드 검증에서 계속”Android 설정 및 백엔드 검증을 사용하여 보안 및 규정 준수 계획을 만드는 경우 이를 연결하여 @capgo/capacitor-인증 앱 Using @capgo/capacitor-app-attest 암호화 암호화 구현 세부 사항에 대해 준수 준수 구현 세부 사항에 대해 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 대해, 그리고 Capgo 보안 Capgo 보안의 제품 워크플로에 대해