Rumah Peranti teknologi industri IT Panduan Pemaju: Cara Melaksanakan Passkeys

Panduan Pemaju: Cara Melaksanakan Passkeys

Feb 08, 2025 am 09:55 AM

Panduan ini menunjukkan pemaju bagaimana untuk menambah pengesahan berasaskan laluan untuk keselamatan dan pengalaman pengguna yang lebih baik. Ia menerangkan kedua-dua pelayan manual dan persediaan klien, dan bagaimana Descope memudahkannya dengan antara muka visual dan aliran pra-dibina.

Tutorial ini adalah oleh Kumar Harsh, pemaju perisian dan pengarang teknikal dari India. Lihat lebih banyak karyanya di laman webnya!

Menggunakan PassKeys meningkatkan keselamatan aplikasi dan kemudahan pengguna. Panduan ini memperincikan pelaksanaan Passkey, dari persediaan ke penempatan. Berikutan langkah-langkah ini mewujudkan pengalaman pengesahan yang selamat dan mesra pengguna, mengurangkan akses yang tidak dibenarkan dan membina kepercayaan pengguna.

Pengesahan PassKey: Asas

Tidak seperti kata laluan yang terdedah, passkeys menggunakan kriptografi awam-kunci untuk meningkatkan pengalaman keselamatan dan pengguna. Fikirkan peti besi: identiti anda dijamin, hanya boleh diakses dengan pasangan kunci yang unik. Passkeys bekerja sama; Setiap pengguna mempunyai kunci peribadi (selamat disimpan pada peranti mereka), dan kunci awam yang dikongsi dengan laman web.

Login melibatkan laman web yang menghantar cabaran kepada peranti pengguna. Kunci peribadi mencipta tandatangan yang unik (cap jari digital), mengesahkan identiti tanpa mendedahkan kunci itu sendiri. Ini menyimpan log masuk selamat walaupun laman web dikompromi.

inilah perwakilan visual:

Developer Guide: How to Implement Passkeys

FIG: Upacara Pengesahan Passkey

Melaksanakan Passkeys: Pendekatan Manual (dan Mengapa Anda Tidak Perlu)

Walaupun passkeys adalah inovatif, pelaksanaan manual adalah rumit dan tidak digalakkan kerana kesukaran persediaan dan risiko keselamatan. Lebih baik menggunakan perpustakaan yang disokong.

Secara amnya, pelaksanaan manual melibatkan:

  • Persediaan Server-Side: Ini termasuk penjanaan utama, pengesahan tandatangan, pengendalian pengesahan, dan integrasi pangkalan data untuk maklumat pengguna dan kelayakan passkey.
  • Integrasi Frontend: Menggunakan JavaScript's navigator.credentials.create() dan navigator.credentials.get(), pelanggan membimbing pengguna melalui interaksi pengesahan (imbasan cap jari, pin, dll.) Dan menghantar data ke pelayan.
perpustakaan seperti SimpleWebAuthn memudahkan ini. Ia mengendalikan penjanaan utama, menjadikan proses lebih mudah daripada pendekatan manual.

(Projek Contoh Pelayan Klien dan Node.js Express menggunakan SimpleWebAuthn tersedia.)

persediaan sisi pelayan (menggunakan simpleWebAuthn)

Pelayan menggunakan pakej

dengan empat titik akhir utama: @simple-webauthn/server

  1. /generate-registration-options: Mengkonfigurasi dan menjana pilihan pendaftaran untuk pelanggan, menghalang pelbagai pendaftaran dari peranti yang sama. Ia juga menghasilkan cabaran.
  2. /verify-registration: Mengesahkan pendaftaran pada peranti yang berjaya dan menjimatkan butiran pengguna (kunci awam, ID kelayakan, maklumat peranti) dalam pangkalan data.
  3. /generate-authentication-options: Mengembalikan pilihan pengesahan, mengambil ID peranti berdaftar.
  4. /verify-authentication: Mengesahkan pengesahan pada peranti yang berjaya menggunakan peranti berdaftar.

Contoh ini menghilangkan integrasi pangkalan data; Anda perlu menambah bahawa untuk kegunaan pengeluaran.

Persediaan sisi pelanggan (menggunakan SimpleWebAuthn)

Pelanggan memerlukan dua butang (untuk pendaftaran dan pengesahan).

Permintaan konfigurasi dari

, kemudian menggunakan onRegistrationStart dari /generate-registration-options. Selepas pendaftaran yang berjaya, startRegistration() mengesahkan hasilnya. Pengesahan mengikuti corak yang sama menggunakan @simple-webauthn/browser, /verify-registration, dan /generate-authentication-options. startAuthentication() /verify-authentication Kaedah manual ini adalah kompleks dan memerlukan persediaan dan penyelenggaraan tambahan untuk pengenalan pengguna dan penyimpanan data. Persediaan HTTPS memerlukan langkah tambahan.

Cara yang lebih mudah: Melaksanakan Passkeys dengan Descope

Descope memudahkan pelaksanaan passkey, menghapuskan persediaan manual kompleks. Ia menyediakan antara muka tidak kod untuk menguruskan aliran pengesahan.

Mencipta aliran Descope

Daftar untuk akaun Descope.
  1. Di papan pemuka, buat aliran auth. Pilih PassKeys (WebAuthn) sebagai kaedah utama.
  2. Pilihan, tambahkan kaedah 2FA.
  3. Pilih skrin log masuk (berpotensi dengan kaedah pendaftaran tambahan).
  4. Descope menjana aliran auth anda dan menyediakan coretan kod dengan ID projek anda.
Menyediakan projek React

Buat projek React baru menggunakan
    .
  1. npm create vite Pasang Descope SDK:
  2. .
  3. npm install @descope/react-sdk Konfigurasikan
  4. dalam
  5. dengan id projek anda. AuthProvider main.jsx Gunakan komponen descope dan cangkuk dalam
  6. untuk melaksanakan aliran pengesahan.
  7. App.js
  8. Contoh mudah ini menunjukkan cara mengintegrasikan aliran pendaftaran atau log masuk Descope:

// Simplified App.js example
import { useDescope, useSession } from '@descope/react-sdk';
import { Descope } from '@descope/react-sdk';

const App = () => {
  const { isAuthenticated, isSessionLoading } = useSession();
  const { logout } = useDescope();

  return (
    <div>
      {!isAuthenticated && (
        <Descope flowId="sign-up-or-in" onSuccess={(e) => console.log(e.detail.user)} onError={(e) => console.log('Error!')} />
      )}
      {isAuthenticated && <button onClick={logout}>Logout</button>}
    </div>
  );
};
Salin selepas log masuk
mencuba aplikasi

Run

dan akses aplikasi di

. Daftar pengguna, sediakan passkeys, dan log masuk ujian. Anda juga boleh mengaktifkan Autofill Passkey di papan pemuka Descope. npm run dev http://localhost:5173

(kod lengkap boleh didapati di GitHub.)

Pengesahan Drag-and-Drop Descope

Descope menyelaraskan pelaksanaan Passkey dengan antara muka drag-and-drop untuk menguruskan aliran pengesahan. Ini memudahkan persediaan dan pengubahsuaian, menjadikannya mudah diakses oleh pemaju semua tahap kemahiran. Ia membolehkan log masuk yang lebih mudah, lebih cepat, dan lebih mudah diakses.

Daftar untuk akaun Descope percuma untuk mengetahui lebih lanjut.

Atas ialah kandungan terperinci Panduan Pemaju: Cara Melaksanakan Passkeys. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1664
14
Tutorial PHP
1269
29
Tutorial C#
1249
24
CNCF Arm64 Pilot: Impak dan Wawasan CNCF Arm64 Pilot: Impak dan Wawasan Apr 15, 2025 am 08:27 AM

Program perintis ini, kerjasama antara CNCF (Yayasan Pengkomputeran Native Cloud), pengkomputeran ampere, equinix metal, dan digerakkan, menyelaraskan ARM64 CI/CD untuk projek GitHub CNCF. Inisiatif ini menangani kebimbangan keselamatan dan prestasi lim

Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan Lambda Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan Lambda Apr 18, 2025 am 08:28 AM

Tutorial ini membimbing anda melalui membina saluran paip pemprosesan imej tanpa pelayan menggunakan perkhidmatan AWS. Kami akan membuat frontend next.js yang digunakan pada kluster ECS Fargate, berinteraksi dengan Gateway API, Fungsi Lambda, Bucket S3, dan DynamoDB. Th

Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025 Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025 Apr 24, 2025 am 08:28 AM

Tinggal maklumat mengenai trend teknologi terkini dengan surat berita pemaju teratas ini! Senarai ini menawarkan sesuatu untuk semua orang, dari peminat AI ke pemaju backend dan frontend yang berpengalaman. Pilih kegemaran anda dan menjimatkan masa mencari rel

CNCF mencetuskan penemuan pariti platform untuk ARM64 dan x86 CNCF mencetuskan penemuan pariti platform untuk ARM64 dan x86 May 11, 2025 am 08:27 AM

Teka -teki dan penyelesaian CI/CD untuk perisian sumber terbuka dalam seni bina ARM64 Menggunakan perisian sumber terbuka pada seni bina ARM64 memerlukan persekitaran CI/CD yang kuat. Walau bagaimanapun, terdapat perbezaan antara tahap sokongan ARM64 dan seni bina pemproses tradisional x86, yang sering merugikan. Pemaju komponen infrastruktur untuk pelbagai seni bina mempunyai jangkaan tertentu untuk persekitaran kerja mereka: Konsistensi: Alat dan kaedah yang digunakan di seluruh platform adalah konsisten, mengelakkan keperluan untuk mengubah proses pembangunan disebabkan penggunaan platform yang kurang popular. Prestasi: Platform dan mekanisme sokongan mempunyai prestasi yang baik untuk memastikan senario penempatan tidak terjejas oleh kelajuan yang tidak mencukupi apabila menyokong pelbagai platform. Liputan Ujian: Kecekapan, Pematuhan dan

Faedah perisian telekomunikasi tersuai Faedah perisian telekomunikasi tersuai May 11, 2025 am 08:28 AM

Pembangunan perisian telekom yang disesuaikan tidak dapat diragukan lagi merupakan pelaburan yang besar. Walau bagaimanapun, dalam jangka masa panjang, anda mungkin menyedari bahawa projek sedemikian mungkin lebih kos efektif kerana ia dapat meningkatkan produktiviti anda seperti penyelesaian siap sedia di pasaran. Memahami kelebihan yang paling penting untuk membina sistem telekomunikasi yang disesuaikan. Dapatkan ciri tepat yang anda perlukan Terdapat dua masalah yang berpotensi dengan perisian telekomunikasi di luar rak yang boleh anda beli. Sesetengah kekurangan ciri berguna yang dapat meningkatkan produktiviti anda dengan ketara. Kadang -kadang anda dapat meningkatkannya dengan beberapa integrasi luaran, tetapi itu tidak selalu cukup untuk menjadikannya hebat. Perisian lain mempunyai terlalu banyak fungsi dan terlalu rumit untuk digunakan. Anda mungkin tidak akan menggunakan beberapa perkara ini (tidak pernah!). Sebilangan besar ciri biasanya menambah harga. Berdasarkan keperluan anda

See all articles