Android 설정 및 백엔드 확인
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
안드로이드 네이티브 시스템 사용
제목이 '안드로이드 네이티브 시스템 사용'인 섹션안드로이드에서 이 플러그인은 구글 플레이 인TEGRITY 표준 API:
prepareIntegrityToken동안prepare()requestStandardIntegrityToken위해createAttestation()그리고createAssertion()
요구 사항
제목이 "요구 사항"인 섹션- Google Play 생태계에서 배포되는 안드로이드 앱
- 장치에 있는 Google Play 서비스
- Play Integrity API가 앱에 활성화되어 있습니다.
- Google Cloud 프로젝트 번호가 구성되었습니다.
Google 설정
제목이 "Google 설정"인 섹션- 활성화 Play Integrity API Google Cloud 프로젝트에서.
- Play Console을 열고 앱에 대한 Play Integrity 접근을 구성하세요.
- __CAPGO_KEEP_0__을 플러그인에 제공하세요.
cloudProjectNumber__CAPGO_KEEP_0__ config
Capacitor config
Capacitor.config.tsplugins: { AppAttest: { cloudProjectNumber: '123456789012', },}__CAPGO_KEEP_0__ cloudProjectNumber Play Console을 열고 앱에 대한 Play Integrity 접근을 구성하세요.
__CAPGO_KEEP_0__을 클립보드에 복사하세요.
__CAPGO_KEEP_0__을 옵션의 메소드에 전달할 수 있습니다.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)(createAttestation)
등록 (createAttestation)- 등록 (createAttestation)
challenge. - 백엔드가 일회용
createAttestation({ keyId, challenge }). - 앱이
decodeIntegrityTokenAPI. - __CAPGO_KEEP_0__.
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageName백엔드가 최소한으로 검증합니다.appIntegrity.certificateSha256DigestAndroid 애플리케이션 ID와 일치합니다.- 보안 정책과 일치하는完整성 판단
(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를 사용 중이라면 안드로이드 설정 및 백엔드 검증 보안 및 규정 준수 계획을 위해 연결하세요. @capgo/capacitor-app-attest를 사용하여 @capgo/capacitor-app-attest를 사용하는 native 기능 암호화 __CAPGO_KEEP_0__ 구현 세부 사항에서 암호화에 대해 법적 준수 __CAPGO_KEEP_0__ 구현 세부 사항에서 법적 준수에 대해 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 대해, 그리고 Capgo 보안 Capgo 보안의 제품 워크플로에 대해