내용으로 건너뛰기

백엔드 참고

__CAPGO_KEEP_8__

  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • __CAPGO_KEEP_11__
  • 인증 정보와 카운터를 브라우저 흐름과 동일한 방식으로 저장합니다.

어떤 것이 동일하게 유지되는가

어떤 것이 동일하게 유지되는가

플러그인은 기존의 WebAuthn code의 프론트 엔드 형태를 보존하기 위해 설계되었습니다.

  • 웹에서, 그것은 실제 브라우저 WebAuthn API로 전달합니다.
  • 자연스러운 native Capacitor에서, 브라우저와 같은 자격 증명 객체를 지원하는 native passkey API에 의해 백업됩니다.
  • 백엔드에서는 동일한 챌린지와 검증 PIPELINE을 유지할 수 있습니다.

안드로이드에서 변경되는 것

어떤 것이 변경되는가

안드로이드 native passkeys는 브라우저의 신뢰 모델과 동일하지 않습니다.

  • 디지털 자산 링크는 안드로이드가 동일한 의존하는 당사자와 자격 증명 생태계를 웹사이트와 공유할 수 있도록 합니다.
  • literal clientDataJSON.origin 웹사이트의 원본과 다를 수 있는 값이 있습니다.
  • 서버가 anything except를 거부한다면 https://your-domainAndroid native assertions은 passkey가 유효하더라도 실패할 수 있습니다.
권장 백엔드 규칙

같은 의존성 파티에 대해 Android native passkey를 지원하는 경우, 기대하는 브라우저 원본과 기대하는 Android 앱 원본을 허용합니다.

그것은 다음과 같은 것을 제공합니다:

  • 웹사이트의 브라우저 지원
  • Capacitor 앱의 native passkey 지원
  • 같은 의존성 파티에 대한 하나의 passkey 생태계

직접 JSON-safe 호출이 필요하다면

직접 JSON-safe 호출이 필요하다면

백엔드가 이미 반환하는 경우 PublicKeyCredentialCreationOptionsJSONPublicKeyCredentialRequestOptionsJSON, you can also use the direct plugin API instead of the browser-style shim:

import { CapacitorPasskey } from '@capgo/capacitor-passkey';
const registration = await CapacitorPasskey.createCredential({
origin: 'https://signin.example.com',
publicKey: registrationOptionsFromBackend,
});
const authentication = await CapacitorPasskey.getCredential({
origin: 'https://signin.example.com',
publicKey: requestOptionsFromBackend,
});