안드로이드 설정 및 백엔드 확인
설치 단계와 이 플러그인에 대한 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
Android 네이티브 시스템 사용
제목이 “Android 네이티브 시스템 사용”인 섹션Android에서 이 플러그인은 Google Play 정직성 표준 API:
prepareIntegrityToken동안prepare()requestStandardIntegrityToken위해createAttestation()및createAssertion()
요구 사항
필요 조건 섹션- 구글 플레이 스토어를 통해 배포되는 안드로이드 앱
- 장치에 구글 플레이 서비스가 사용 가능합니다.
- 앱에 대해 플레이 인TEGRITY API이 활성화되어 있습니다.
- 구글 클라우드 프로젝트 번호가 구성되어 있습니다.
구글 설정
구글 설정 섹션- 활성화 앱에 대해 플레이 인TEGRITY API 구글 클라우드 프로젝트에서 앱에 대한 플레이 인TEGRITY 접근을 구성하세요.
- 플레이 콘솔을 열고 앱에 대한 플레이 인TEGRITY 접근을 구성하세요.
- 제공
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 백엔드 워크플로우 (Android)
You can also pass
백엔드 워크플로우 (Android)등록 (createAttestation)
등록 (createAttestation)- 백엔드가 일회용
challenge. - 앱이 호출
createAttestation({ keyId, challenge }). - 백엔드가 Google
decodeIntegrityTokenAPI. - 백엔드가 최소한의 검증:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNameAndroid 애플리케이션 ID와 일치appIntegrity.certificateSha256Digest릴리즈 서명 인증서 해시 포함- 보안 정책에 따라서完整성 판단
요청 보호 (createAssertion)
Request protection (createAssertion)- 백엔드가 일회용 토큰을 생성합니다.
payload. - 앱이 요청합니다.
createAssertion({ keyId, payload }). - 백엔드가 토큰을 해독하고 검사합니다.
requestHash === base64url(SHA256(payload)). - 재생방지 (단용 + TTL) 및 무결성 판단 정책을 강제합니다.
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최소 백엔드 페이로드 계약
등록:클립보드에 복사
{ "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"}안드로이드 설정 및 백엔드 검증에서 계속하기
안드로이드 설정 및 백엔드 검증에서 계속하기Capgo를 사용 중이라면 안드로이드 설정 및 백엔드 검증 보안 및 규정 준수 계획을 위해 연결하세요. Using @capgo/capacitor-app-attest Using @capgo/capacitor-app-attest 암호화 암호화 규정 준수 Compliance 구현 세부 사항에 대해 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 대해, 그리고 Capgo 보안 Capgo 보안의 제품 워크플로에 대해, 그리고