suchen
HeimTechnologie-PeripheriegeräteIT IndustrieEntwicklerhandbuch: So implementieren Sie Passkeys

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

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!

Stellungnahme
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
Vorteile der benutzerdefinierten TelekommunikationssoftwareVorteile der benutzerdefinierten TelekommunikationssoftwareMay 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 ausCNCF löst einen Durchbruch der Plattformparität für ARM64 und X86 ausMay 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

Top 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenTop 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenApr 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

Serverlose Bildverarbeitungspipeline mit AWS ECS und LambdaServerlose Bildverarbeitungspipeline mit AWS ECS und LambdaApr 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

CNCF ARM64 Pilot: Impact and InsightsCNCF ARM64 Pilot: Impact and InsightsApr 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

See all articles

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

Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools