컨텐츠로 건너뛰기

백엔드 노트

GitHub

백엔드가 여전히 일반 WebAuthn 절차를 소유합니다.:

  • 등록 및 인증挑战 생성
  • 증명 및 진술 응답 확인
  • 존재하는 파티 ID 및 챌린지 검증 강제
  • 브라우저 흐름과 동일한 방식으로 크레덴셜 및 카운터를 저장

어떤 것이 동일하게 남아 있는가

제목 ‘어떤 것이 동일하게 남아 있는가’

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

  • 웹에서, 실제 브라우저 WebAuthn API로 전달합니다.
  • 네이티브 Capacitor에서, 브라우저와 같은 크레덴셜 객체를 지원하는 네이티브 패스 키 API에 의해 백업됩니다.
  • 백엔드가 동일한 챌린지 및 검증 PIPELINE을 유지할 수 있습니다.

Android에서 변경되는 것은

Android에서 변경되는 내용

Android 네이티브 패스키는 브라우저 신뢰 모델과 동일하지 않습니다.

  • 디지털 자산 링크를 통해 Android는 동일한 의존하는 당사자와 자격 증명 생태계를 웹사이트와 공유할 수 있습니다.
  • literal clientDataJSON.origin 값은 여전히 웹사이트의 원본과 다를 수 있습니다.
  • 서버가 https://your-domain를 제외한 모든 것을 거부한다면, Android 네이티브 어설션은 패스키가 유효하더라도 실패할 수 있습니다.
권장 백엔드 규칙

native Android 패스키를 지원할 때 동일한 의존 당사자에 대해 웹사이트의 브라우저 원본과 Android 앱의 원본을 허용하세요.

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

  • 웹사이트에 대한 브라우저 지원
  • native passkey support in the Capacitor app
  • 같은 의존자 도메인에 대해 하나의 패스키 생태계

직접 JSON-안전한 호출이 필요하다면

직접 JSON-안전한 호출이 필요하다면

백엔드가 이미 JSON-안전한 값을 반환한다면 PublicKeyCredentialCreationOptionsJSON 그리고 PublicKeyCredentialRequestOptionsJSON브라우저 스타일의 shim 대신 API 직접 플러그인을 사용할 수 있습니다.

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,
});

백엔드 노트에서 계속

백엔드 노트에서 계속

백엔드 노트에서 계속 백엔드 노트 인증 및 계정 흐름을 계획하고 연결하려면 @capgo/capacitor-passkey를 사용하여 @capgo/capacitor-passkey의 원시 기능을 사용하여 @capgo/capacitor-social-login @capgo/capacitor-social-login의 구현 세부 정보 @capgo/capacitor-passkey @capgo/capacitor-passkey의 구현 세부 정보 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric의 구현 세부 정보 두 단계 인증 두 단계 인증의 구현 세부 정보