Linux 软件免费装
Banner图

Sigil – Passkeys and Two-Factor Authentication

开发者 rebelcode
jeangalea
更新时间 2026年8月6日 01:24
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPL-3.0-or-later
版权网址: 版权信息

标签

security authentication 2fa two-factor passkeys

下载

0.1.1 0.2.1 0.2.2 0.2.0 0.3.0 0.1.2 0.3.1 0.3.2 0.3.3

详情介绍:

Sigil adds a second authentication step to WordPress logins. Users enrol a passkey, an authenticator app, backup codes or email codes from their profile, and administrators can require 2FA for chosen roles with a grace period. Methods Enforcement 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. Recovery Three ways back in if a second factor is lost: Application passwords Two-factor authentication does not apply to application passwords, which authenticate REST API and XML-RPC requests. The settings screen documents this, and application passwords can be disabled per role.

安装:

  1. Install through Plugins → Add New and search for "Sigil", or upload the plugin files to /wp-content/plugins/sigil-2fa/.
  2. Activate it through the Plugins menu.
  3. Go to Users → Two-Factor Setup and enrol your first method. Save the backup codes it shows you.
  4. To require 2FA for other users, open Settings → Sigil and choose the roles and grace period. On a network, that screen is under Network Admin → Settings → Sigil.
  5. If your users do not have dashboard access, create a page containing [sigil_2fa] and they can enrol there.

常见问题:

What happens if I lose my phone and get locked out?

Use one of the backup codes shown when you first set up 2FA. If you did not keep those, another administrator can reset your account from the Users screen. If nobody can get in at all, anyone with server access runs wp sigil reset <your-username> and your second factor is cleared.

Does the plugin require an external account or service?

No. All authentication happens on your own site. The plugin does not contact any external service and does not require an account.

Does this work with application passwords, the REST API, and XML-RPC?

Application passwords bypass 2FA by design, as that is how WordPress authenticates automated requests. The settings screen documents this, and application passwords can be disabled per role to close that path.

Which PHP version do I need for passkeys?

Passkeys need PHP 8.0 or newer. On older PHP the plugin still runs and offers authenticator apps, backup codes, and email; only the passkey method is hidden.

Does it work on multisite?

Yes. The policy is set once for the network under Network Admin → Settings → Sigil, and a user's authenticator or backup codes work on every site because WordPress accounts are network-wide. Passkeys are bound to the domain they were created for, so each site gets its own unless you widen that with the sigil_rp_id filter.

Can users set up 2FA without access to wp-admin?

Yes. Put [sigil_2fa] on a page. Users manage their methods from there, and anyone required to enrol is sent to that page rather than to the dashboard.

Can I enforce 2FA only for administrators?

Yes. Settings → Sigil lets you pick exactly which roles are required, and set a grace period so people are prompted to enrol rather than locked out immediately.

更新日志:

0.3.3 0.3.2 0.3.1 0.3.0 0.2.2 0.2.1 0.2.0 0.1.3 0.1.2 0.1.1 0.1.0