백엔드 참고
__CAPGO_KEEP_1__
__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 호출이 필요하다면백엔드가 이미 반환하는 경우 PublicKeyCredentialCreationOptionsJSON 및 PublicKeyCredentialRequestOptionsJSON, 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,});