plugin-icon

Sigil – Passkeys and Two-Factor Authentication

Añade la identificación por dos factores a los inicios de sesión en WordPress: claves de acceso, aplicaciones de autenticación, códigos de respaldo y códigos por correo electrónico, con aplicación específica para cada rol.
Versión
0.3.3
Última actualización
Aug 5, 2026
Sigil – Passkeys and Two-Factor Authentication

Sigil añade un segundo paso de autenticación a los inicios de sesión de WordPress. Los usuarios registran una clave de acceso, una aplicación de autenticación, códigos de recuperación o códigos por correo electrónico desde su perfil, y los administradores pueden exigir la 2FA para los roles elegidos con un periodo de gracia.

Métodos

  • Claves de acceso (WebAuthn), usando un autenticador de plataforma como Face ID, Touch ID o Windows Hello, o una llave de seguridad de hardware. Requiere PHP 8.0 o superior.
  • Aplicación de autenticación (TOTP), compatible con cualquier aplicación que cumpla el RFC 6238.
  • Códigos de recuperación: diez códigos de un solo uso, generados la primera vez que se configura cualquier método.
  • Códigos por correo electrónico: un código de seis dígitos enviado a la dirección de correo de la cuenta.

Exigencia

  • Exige la 2FA por rol, o para todos los que tengan una capacidad elegida.
  • Establece un periodo de gracia para que los usuarios existentes tengan tiempo de registrarse en lugar de quedar bloqueados en el siguiente inicio de sesión.
  • Una columna «2FA» en la pantalla de Usuarios muestra quién la ha configurado y quién no.

Enrolment without the dashboard

Put [sigil_2fa] on any page and users can set up and manage their methods there. Sites that keep members out of wp-admin need this, and enforcement redirects to that page when it exists instead of to an admin screen the user cannot open.

Multisite

Accounts are network-wide in WordPress, so second factors are too. An authenticator or backup codes cover every site on the network, the policy is set once under Network Admin, and the rate limiter counts across the network rather than per site. On a network, resetting another user’s 2FA is a Network Admin action, which is how WordPress governs user editing there.

Passkeys are bound to the domain they were created for, so by default a passkey covers the site it was registered on. A network under one operator can widen that to cover every subdomain site with the sigil_rp_id filter. It is opt-in because widening lets any site under that domain request assertions, which matters when sites have different administrators.

REST API

Routes under sigil/v1 read a user’s methods, reset or remove them, read and edit the policy, and describe or complete a pending login challenge so a decoupled front end can run the second step itself. The challenge routes are authenticated by the challenge token issued after the password step. Reading and changing anything else requires the same capability as the equivalent screen.

This does not add a second factor to token authentication. A request that authenticates with an application password never reaches the interactive login, so it is not challenged.

Recuperación

Tres formas de volver a entrar si se pierde un segundo factor:

  • Los códigos de recuperación se generan y se muestran al registrarse por primera vez.
  • Un usuario con la capacidad edit_users puede restablecer la 2FA de otro usuario desde la pantalla de Usuarios.
  • wp sigil reset <user> borra el segundo factor de un usuario desde la línea de comandos cuando nadie puede acceder al Escritorio.

Contraseñas de aplicación

La autenticación de dos factores no se aplica a las contraseñas de aplicación, que autentican las peticiones de la API REST y de XML-RPC. La pantalla de ajustes lo documenta, y las contraseñas de aplicación se pueden desactivar por rol.

Third-party libraries

  • QR Code Generator for JavaScript 2.0.4 by Kazuhiko Arase, MIT licensed, bundled unmodified at assets/js/vendor/qrcode.js (https://github.com/kazuhikoarase/qrcode-generator). Draws the authenticator QR in the browser.
  • WebAuthn by Lukas Buchs, bundled in vendor/, used to verify passkey registrations and assertions.

Neither contacts an external service.

Gratisen planes de pago
Probado hasta
WordPress 7.0.2
Te puedes descargar este plugin para utilizarlo en tu sitio de .