Heim Technologie-Peripheriegeräte IT Industrie Entwicklerhandbuch: So implementieren Sie Passkeys

Entwicklerhandbuch: So implementieren Sie Passkeys

Feb 08, 2025 am 09:55 AM

Dieser Leitfaden zeigt Entwicklern, wie die PassKey-basierte Authentifizierung für eine bessere Sicherheit und Benutzererfahrung hinzufügt. Es erläutert sowohl den manuellen Server als auch das Client-Setup und wie Descope dies mit einer visuellen Schnittstelle und vorgefertigten Flows vereinfacht.

Dieses Tutorial stammt von Kumar Harsh, einem Softwareentwickler und technischen Autor aus Indien. Sehen Sie mehr von seiner Arbeit auf seiner Website!

Verwenden von PassKeys verbessert die Anwendungssicherheit und die Benutzerkontrolle. Diese Handbuchdetails Die PassKey -Implementierung vom Setup bis zur Bereitstellung. Das Befolgen dieser Schritte schafft ein sicheres und benutzerfreundliches Authentifizierungserlebnis, wodurch der unbefugte Zugriff verringert wird und Benutzervertrauen aufgebaut wird.

PassKey -Authentifizierung: Die Grundlagen

Im Gegensatz zu schutzbedürftigen Passwörtern verwenden Passkeys Kryptographie für öffentliche Key, um sowohl die Sicherheit als auch die Benutzererfahrung zu verbessern. Denken Sie an ein Gewölbe: Ihre Identität ist gesichert und nur mit einem einzigartigen Schlüsselpaar zugänglich. Passkeys funktionieren ähnlich; Jeder Benutzer verfügt über einen privaten Schlüssel (sicher auf seinem Gerät gespeichert) und einen öffentlichen Schlüssel mit Websites.

Login beinhaltet die Website, die eine Herausforderung an das Gerät des Benutzers sendet. Der private Schlüssel erstellt eine einzigartige Signatur (einen digitalen Fingerabdruck), der die Identität überprüft, ohne den Schlüssel selbst zu enthüllen. Dadurch wird sich die Anmeldungen sicher, auch wenn die Website beeinträchtigt ist.

Hier ist eine visuelle Darstellung:

Developer Guide: How to Implement Passkeys

Abb.: PassKey -Authentifizierungszeremonie

Implementieren von Passkeys: Der manuelle Ansatz (und warum Sie nicht sollten)

Während Passkeys innovativ sind, ist die manuelle Implementierung komplex und aufgrund von Schwierigkeits- und Sicherheitsrisiken eingerichtet. Es ist am besten, eine unterstützte Bibliothek zu verwenden.

Im Allgemeinen beinhaltet die manuelle Implementierung:

  • serverseitiges Setup: Dies umfasst die Schlüsselgenerierung, die Überprüfung der Signatur, die Begleiterung und die Datenbankintegration für Benutzerinformationen und PassKey-Anmeldeinformationen.
  • Frontend -Integration: Verwenden von JavaScripts navigator.credentials.create() und navigator.credentials.get() führt der Client Benutzer durch Authentikatoren -Interaktionen (Fingerabdruck -Scans, Pins usw.) und sendet Daten an den Server.

Bibliotheken wie Simplewebauthn vereinfachen dies. Es behandelt die Schlüsselgenerierung und erleichtert den Prozess als ein manueller Ansatz.

(Ein React -Client und Node.js Express Server -Beispielprojekt mit SimpleWebebauthn ist verfügbar.)

serverseitiges Setup (mit SimpleWebAauthn)

Der Server verwendet das @simple-webauthn/server -Paket mit vier Schlüsselendpunkten:

  1. /generate-registration-options: Konfiguriert und generiert Registrierungsoptionen für den Client, wodurch mehrere Registrierungen aus demselben Gerät verhindert werden. Es erzeugt auch eine Herausforderung.
  2. /verify-registration: Überprüft die erfolgreiche Registrierung von On-Geräte und speichert Benutzerdetails (öffentlicher Schlüssel, Anmeldeinformationen, Geräteinformationen) in der Datenbank.
  3. /generate-authentication-options: Gibt Authentifizierungsoptionen zurück, wobei die registrierte Geräte -ID abgerufen wird.
  4. /verify-authentication: Überprüft die erfolgreiche On-Device-Authentifizierung mit einem registrierten Gerät.

Dieses Beispiel lässt die Datenbankintegration aus; Sie müssen das hinzufügen, um die Produktion zu verwenden.

clientseitiges Setup (mit SimpleWebAauthn)

Der Kunde benötigt zwei Schaltflächen (zur Registrierung und Authentifizierung). onRegistrationStart fordert die Konfiguration von /generate-registration-options an und verwendet dann startRegistration() aus @simple-webauthn/browser. Nach erfolgreicher Registrierung überprüft /verify-registration das Ergebnis. Die Authentifizierung folgt einem ähnlichen Muster mit /generate-authentication-options, startAuthentication() und /verify-authentication.

Diese manuelle Methode ist komplex und erfordert zusätzliche Einrichtung und Wartung für die Benutzeridentifikation und die Datenspeicherung. Das HTTPS -Setup erfordert zusätzliche Schritte.

Auf dem einfacheren Weg: Implementieren von Passkeys mit Descope

Descope vereinfacht die PassKey -Implementierung und beseitigt das komplexe manuelle Setup. Es bietet eine No-Code-Schnittstelle zum Verwalten der Authentifizierungsflüsse.

Erstellen von Descope -Flows

  1. Melden Sie sich für ein Descope -Konto an.
  2. Erstellen Sie im Dashboard einen Auth -Fluss. Wählen Sie Passkeys (WebAuthn) als primäre Methode.
  3. Fügen Sie optional eine 2FA -Methode hinzu.
  4. Wählen Sie einen Anmeldebildschirm (möglicherweise mit zusätzlichen Registrierungsmethoden).
  5. Descope generiert Ihren Auth -Fluss und bietet ein Code -Snippet mit Ihrer Projekt -ID.

Einrichten eines React -Projekts

  1. Erstellen Sie ein neues React -Projekt mit npm create vite.
  2. Installieren Sie das Descope SDK: npm install @descope/react-sdk.
  3. Konfigurieren Sie die AuthProvider in main.jsx mit Ihrer Projekt -ID.
  4. Verwenden Sie Descope -Komponenten und Haken in App.js, um den Authentifizierungsfluss zu implementieren.

Dieses vereinfachte Beispiel zeigt, wie die Anmelde- oder Anmeldefluss von Descope integriert wird:

// 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>
  );
};
Nach dem Login kopieren

ausprobieren Sie die App

Ausführen npm run dev und greifen Sie auf die App bei http://localhost:5173 zu. Registrieren Sie einen Benutzer, richten Sie Passkeys ein und testen Sie die Anmeldung. Sie können das Passkey -Autofill auch im Descope -Dashboard aktivieren.

(Der vollständige Code ist auf GitHub verfügbar.)

Descope's Drag & Drop-Authentifizierung

Descope-Stromlinien-PassKey-Implementierung mit einer Drag-and-Drop-Schnittstelle zum Verwalten der Authentifizierungsflüsse. Dies vereinfacht das Setup und Modifikation und macht es Entwicklern aller Fähigkeiten zugänglich. Es ermöglicht einfachere, schnellere und zugängliche Anmeldungen.

Melden Sie sich für ein kostenloses Descope -Konto an, um mehr zu erfahren.

Das obige ist der detaillierte Inhalt vonEntwicklerhandbuch: So implementieren Sie Passkeys. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1665
14
PHP-Tutorial
1270
29
C#-Tutorial
1249
24
CNCF ARM64 Pilot: Impact and Insights CNCF ARM64 Pilot: Impact and Insights Apr 15, 2025 am 08:27 AM

Dieses Pilotprogramm, eine Zusammenarbeit zwischen CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal und betätigten, rationalisiert ARM64 CI/CD für CNCF -Github -Projekte. Die Initiative befasst sich mit Sicherheitsbedenken und Leistung

Serverlose Bildverarbeitungspipeline mit AWS ECS und Lambda Serverlose Bildverarbeitungspipeline mit AWS ECS und Lambda Apr 18, 2025 am 08:28 AM

Dieses Tutorial führt Sie durch das Erstellen einer serverlosen Bildverarbeitungspipeline mit AWS -Diensten. Wir werden ein Next.JS -Frontend erstellen, der in einem ECS -Fargate -Cluster eingesetzt wird und mit einem API -Gateway, Lambda -Funktionen, S3 -Eimer und DynamoDB interagiert. Th

Top 21 Entwickler -Newsletter, die sich 2025 abonnieren können Top 21 Entwickler -Newsletter, die sich 2025 abonnieren können Apr 24, 2025 am 08:28 AM

Bleiben Sie über die neuesten technischen Trends mit diesen Top -Entwickler -Newsletters informiert! Diese kuratierte Liste bietet für jeden etwas, von KI -Enthusiasten bis hin zu erfahrenen Backend- und Frontend -Entwicklern. Wählen Sie Ihre Favoriten und sparen Sie Zeit, um nach REL zu suchen

Vorteile der benutzerdefinierten Telekommunikationssoftware Vorteile der benutzerdefinierten Telekommunikationssoftware May 11, 2025 am 08:28 AM

Die kundenspezifische Entwicklung von Telekommunikationssoftware ist zweifellos eine beträchtliche Investition. Langfristig können Sie jedoch erkennen, dass ein solches Projekt möglicherweise kostengünstiger ist, da es Ihre Produktivität wie jede fertige Lösung auf dem Markt steigern kann. Verstehen Sie die wichtigsten Vorteile des Aufbaus eines maßgeschneiderten Telekommunikationssystems. Holen Sie sich die genauen Funktionen, die Sie benötigen Es gibt zwei potenzielle Probleme mit der von Ihnen gekauften Telekommunikationssoftware. Einige fehlen nützliche Funktionen, die Ihre Produktivität erheblich verbessern können. Manchmal können Sie sie mit einer externen Integration verbessern, aber das ist nicht immer genug, um sie großartig zu machen. Andere Software hat zu viele Funktionen und ist zu kompliziert, um sie zu verwenden. Sie werden wahrscheinlich einige davon nicht verwenden (niemals!). Eine große Anzahl von Funktionen trägt normalerweise zum Preis bei. Basierend auf Ihren Bedürfnissen

CNCF löst einen Durchbruch der Plattformparität für ARM64 und X86 aus CNCF löst einen Durchbruch der Plattformparität für ARM64 und X86 aus May 11, 2025 am 08:27 AM

CI/CD -Rätsel und -Lösungen für Open -Source -Software in ARM64 Architektur Die Bereitstellung von Open -Source -Software auf der ARM64 -Architektur erfordert eine leistungsstarke CI/CD -Umgebung. Es gibt jedoch einen Unterschied zwischen den Stützniveaus von ARM64 und herkömmlichen X86 -Prozessorarchitekturen, die häufig im Nachteil sind. Infrastrukturkomponentenentwickler für mehrere Architekturen haben bestimmte Erwartungen für ihr Arbeitsumfeld: Konsistenz: Die Tools und Methoden, die über Plattformen hinweg verwendet werden, sind konsistent und vermeiden, dass der Entwicklungsprozess aufgrund der Einführung weniger beliebter Plattformen geändert werden muss. Leistung: Die Plattform- und Support -Mechanismus haben eine gute Leistung, um sicherzustellen, dass die Bereitstellungsszenarien bei der Unterstützung mehrerer Plattformen nicht von unzureichender Geschwindigkeit beeinflusst werden. Testabdeckung: Effizienz, Konformität und

See all articles