Auth Pwless
Безпарольная аутентификация для Payload CMS с passkeys, magic-ссылками, OAuth и сессиями на refresh-токенах.
Установка
pnpm add @trieb.work/payload-auth-pwless Описание
Самостоятельно размещаемый плагин для Payload CMS 3.x, заменяющий встроенную стратегию входа по email и паролю на коллекции `users`. Включает вход через WebAuthn/passkeys, magic-ссылки на email и OAuth (Google и Facebook). При установке параметр `disableLocalStrategy` устанавливается в `true`, поэтому старые логины по email и паролю на расширенной коллекции `users` перестают работать и требуют миграции. Плагин расширяет существующую коллекцию `users` с флагом `auth: true` и добавляет две новые коллекции: `webauthn-credentials` и `sessions`. Пользовательская система сессий выдаёт короткоживущие JWT access-токены и долгоживущие refresh-токены в HttpOnly cookie, с привязкой к device fingerprint и дедупликацией одновременных запросов. Регистрируется собственная JWT-стратегия аутентификации, а в конфигурацию Payload добавляются API-эндпоинты для каждого сценария: регистрация и проверка passkeys, запрос и подтверждение magic-ссылок, обработчики OAuth callback с привязкой аккаунтов по верифицированному email, обновление токенов, logout, онбординг и опциональный автоматический вход для разработки через agent. Каждый метод можно включить или выключить отдельно (`enableWebAuthn`, `enableMagedLink`, `enableOAuth`). Доступны настройки времени жизни сессий и токенов, задание разрешённых WebAuthn origins для нескольких хостов и опциональные application contexts: один экземпляр Payload за несколькими фронтендами с разными параметрами сессий, путями входа и брендингом email. Очистка устаревших сессий выполняется задачей в Payload Jobs Queue, для запуска которой требуется `jobs.autoRun` или внешний cron. Компоненты входа в админ-панель добавляются автоматически и отключаются через `adminUI.enabled: false`. Опциональный шаг онбординга добавляет поля `firstName`, `lastName` и `onboardingComplete` с редиректом. Авторизация (RBAC и разрешения) намеренно вынесена за рамки плагина. Плагин отвечает за identity и сессии, а слой ролей и прав нужно реализовать отдельно. В основе лежат библиотеки `@simplewebauthn/browser` и `server`, а также `jose`; для ограничения частоты запросов используется in-memory rate limiting. Это не сторонний сервис аутентификации, а решение, работающее внутри вашего Payload.
О пакете
- Имя пакета
@trieb.work/payload-auth-pwless- Последняя версия
0.2.0- Размер
- 564 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 31
- Последняя публикация
- 29 июл. 2026 г.
Ещё от trieb-work
Профиль автораПохожие плагины
Ещё в категории «Авторизация»Simple Social Login
Плагин для Payload CMS 3.x: добавляет вход через Google и Microsoft (Entra ID) в админку и аутентифицированные коллекции.
Better Auth
Адаптер и плагины Better Auth для Payload CMS.
TOTP
Добавляет TOTP для многофакторной аутентификации в PayloadCMS.
Passkey
Добавляет вход через WebAuthn passkeys и управление ими в Payload CMS поверх Better Auth.
Subscribers
Управляйте подписчиками и каналами с помощью аутентификации по магической ссылке.
Keycloak SSO
Добавляет Keycloak SSO в Payload CMS 3 через OIDC-стратегию с PKCE, тихим обновлением токенов и доступом на основе permissions.