Auth Pwless

Passwortlose Authentifizierung für Payload CMS mit Passkeys, Magic Links, OAuth und Refresh-Token-Sessions.

Community 2 31/Wo. MIT v0.2.0

Installation

pnpm add @trieb.work/payload-auth-pwless

Über

Ein selbstgehostetes Plugin für passwortlose Authentifizierung in Payload CMS 3.x. Es ersetzt die eingebaute E-Mail-Passwort-Strategie der `users`-Collection durch WebAuthn-Passkey-Login, Magic-Link-Login per E-Mail und OAuth-Login über Google und Facebook. Ein eigenes Session-System stellt kurzlebige JWT-Access-Tokens und langlebige Refresh-Tokens in HttpOnly-Cookies aus. Sessions sind an einen Device-Fingerprint gebunden, und parallele Refresh-Anfragen werden dedupliziert. Das Plugin erweitert eine bestehende `users`-Collection mit `auth: true` und richtet zwei neue Collections ein: `webauthn-credentials` und `sessions`. Eine eigene Auth-Strategie wird in die Payload-Konfiguration eingetragen. Dazu gehören API-Endpunkte für Registrierung und Verifizierung von Passkeys, Magic-Link-Anforderung und Einlösung, OAuth-Callback-Handler mit Account-Linking per E-Mail (nur verifizierte Adressen), Token-Refresh, Logout und ein optionaler Onboarding-Schritt. In der Entwicklungsumgebung gibt es zusätzlich eine optionale Auto-Login-Funktion für Test-Agenten. Jede Login-Methode lässt sich einzeln aktivieren (`enableWebAuthn`, `enableMagicLink`, `enableOAuth`). Konfigurierbare Werte umfassen Session- und Token-Laufzeiten sowie erlaubte WebAuthn-Origins für Multi-Host-Setups. Optionale Application Contexts erlauben den Betrieb einer Payload-Instanz hinter mehreren Frontends mit eigenen Session-Laufzeiten, Login-Pfaden und E-Mail-Branding. Ein geplanter Task in der Payload Jobs Queue bereinigt abgelaufene Sessions und setzt `jobs.autoRun` oder einen externen Cron-Runner voraus. Die Admin-Panel-Login-Komponenten werden automatisch injiziert und lassen sich über `adminUI.enabled: false` deaktivieren. Onboarding fügt den Feldern `firstName`, `lastName` und `onboardingComplete` ein. Autorisierung (RBAC/Berechtigungen) ist bewusst nicht Teil des Plugins. Es übernimmt Identität und Sessions, eine eigene Rollen- und Rechteebene muss darauf aufsetzen. Durch das Plugin wird `disableLocalStrategy: true` gesetzt, wodurch bestehende E-Mail-Passwort-Logins auf der erweiterten `users`-Collection nicht mehr funktionieren und eine Migrationsstrategie nötig ist.

Paketinformationen

Paketname
@trieb.work/payload-auth-pwless
Neueste Version
0.2.0
Entpackte Größe
564 kB
Lizenz
MIT
Wöchentliche Downloads
31
Zuletzt veröffentlicht
29. Juli 2026

Mehr von trieb-work

Profil ansehen

Ähnliche Plugins

Mehr in Auth