Catatan Backend
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Backend Anda masih mengontrol proses WebAuthn normal:
- menghasilkan registrasi dan tantangan autentikasi
- mengverifikasi respons atestasi dan asertasi
- menggunakan ID dan validasi tantangan pihak yang berkepentingan
- menyimpan kredential dan menghitung counter dengan cara yang sama seperti Anda lakukan untuk aliran browser
Apa yang tetap sama
Judul bagian “Apa yang tetap sama”Plugin ini dirancang untuk mempertahankan bentuk depan WebAuthn Anda yang sudah ada code.
- Di web, ia mengalihkan ke WebAuthn browser asli API.
- Pada native Capacitor, itu kembali objek kreditur browser seperti yang didukung oleh native passkey APIs.
- Server Anda dapat menjaga pipeline tantangan dan verifikasi yang sama.
Apa yang berubah pada Android
Judul bagian “Apa yang berubah pada Android”Passkey native Android tidak identik dengan model kepercayaan browser.
- Digital Asset Links memungkinkan Android berbagi model kepercayaan dan ekosistem kreditur yang sama dengan situs web Anda.
- Literal
clientDataJSON.originNilai masih dapat berbeda dari asal situs web. - Jika server Anda menolak kecuali
https://your-domain, passkey native Android dapat gagal bahkan ketika passkey lainnya valid.
Aturan backend yang direkomendasikan
Judul bagian “Aturan backend yang direkomendasikan”Mengizinkan asal browser yang diharapkan dan asal aplikasi Android yang diharapkan untuk pihak yang sama ketika Anda mendukung passkeys Android asli.
Itu memberikan Anda:
- dukungan browser untuk situs web
- dukungan passkey asli di aplikasi Capacitor
- satu ekosistem passkey untuk domain pihak yang sama
Jika Anda membutuhkan panggilan JSON-aman langsung
Judul bagian “Jika Anda membutuhkan panggilan JSON-aman langsung”Jika backend Anda sudah mengembalikan PublicKeyCredentialCreationOptionsJSON dan PublicKeyCredentialRequestOptionsJSONanda dapat menggunakan plugin API langsung daripada shim gaya browser:
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,});