Android 설정 및 백엔드 확인
이 플러그인 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트 복사하기.
안드로이드 네이티브 시스템 사용
제목이 '안드로이드 네이티브 시스템 사용'인 섹션안드로이드에서 이 플러그인은 Google Play Integrity Standard API:
prepareIntegrityTokenduringprepare()requestStandardIntegrityTokenforcreateAttestation()andcreateAssertion()
요구 사항
제목: 요구 사항- 구글 플레이 스토어를 통해 배포되는 안드로이드 앱
- 장치에 구글 플레이 서비스가 사용 가능합니다.
- 플레이 인TEGRITY API이 앱에 활성화되어 있습니다.
- 구글 클라우드 프로젝트 번호가 구성되었습니다.
구글 설정
제목: 구글 설정- 활성화 Play Integrity API __targetLanguage__의 Google Cloud 프로젝트에서 사용하세요.
- Play 콘솔을 열고 앱에 대한 Play Integrity 접근을 구성하세요.
- 제공
cloudProjectNumber플러그인에
Capacitor config
Capacitor configplugins: { AppAttest: { cloudProjectNumber: '123456789012', },}__targetLanguage__에서 또한 cloudProjectNumber __targetLanguage__당 메소드 옵션에서 호출할 때 호출할 수 있습니다.
__targetLanguage__ 흐름
‘클라이언트 흐름’ 섹션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)’ 섹션- 백엔드가 일회용
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 schemasequenceDiagram 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 native 기능을 위한 @capacitor/capgo-app-attest 사용 암호화 __CAPGO_KEEP_0__의 구현 세부 정보를 위한 암호화 규정 준수 __CAPGO_KEEP_0__의 구현 세부 정보를 위한 규정 준수 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로우에 대해 Capgo 보안 Capgo 보안의 제품 워크플로우에 대해