logo
0
0
WeChat Login
feat: 添加Zibll WebAuthn通行证插件初始版本

Zibll WebAuthn 通行证插件

为Zibll主题添加WebAuthn通行证功能,支持无密码登录。

功能特性

  • 无密码登录:使用指纹、面容ID或安全密钥快速登录
  • 多设备支持:可添加多个通行证,支持不同设备
  • 安全可靠:基于FIDO2/WebAuthn标准,更安全的认证方式
  • 完美集成:与Zibll主题深度集成,UI风格统一
  • 暗色模式:完美支持主题的暗色模式

安装说明

首次安装

  1. 下载插件压缩包
  2. 重要:确保压缩包解压后的文件夹名称为 zibll-webauthn
  3. 上传到 /wp-content/plugins/ 目录
  4. 在WordPress后台的"插件"页面激活插件
  5. 插件会自动配置所需的主题文件

更新插件

  1. 重要:更新前请确保新版本的压缩包解压后文件夹名称为 zibll-webauthn
  2. 在WordPress后台"插件"页面停用旧版本
  3. 删除旧版本插件
  4. 上传新版本插件并激活

或者直接覆盖更新:

  1. 确保zip包内文件夹名为 zibll-webauthn
  2. 在WordPress后台"插件" → "安装插件" → "上传插件"
  3. 选择zip文件,点击"现在安装"
  4. WordPress会自动识别并提示覆盖现有插件

⚠️ 重要提示:如果文件夹名称不一致(如 webauthu vs zibll-webauthn),WordPress会将其识别为不同的插件,导致无法覆盖更新。请务必保持文件夹名称一致!

使用说明

用户端

添加通行证

  1. 登录账户后,进入「用户中心」
  2. 点击「账户安全」标签页
  3. 在「安全通行证」区域点击「添加通行证」按钮
  4. 按照浏览器提示完成认证(如使用指纹、面容或PIN码)
  5. 为通行证命名(如"iPhone 15"、"Windows Hello")

使用通行证登录

  1. 在登录窗口点击「使用通行证登录」按钮
  2. 按照浏览器提示完成认证
  3. 自动登录成功

管理通行证

  • 重命名:点击通行证旁的「重命名」按钮
  • 删除:点击通行证旁的「删除」按钮

浏览器兼容性

浏览器最低版本平台支持
Chrome67+Windows, macOS, Android
Edge18+Windows, macOS
Firefox60+Windows, macOS, Linux
Safari13+macOS, iOS

技术架构

后端

  • PHP 7.4+
  • web-auth/webauthn-lib: WebAuthn协议实现
  • WordPress user_meta: 凭证存储

前端

  • SimpleWebAuthn Browser: WebAuthn客户端库
  • jQuery: DOM操作和AJAX请求

安全特性

  • ✅ CSRF保护(WordPress nonce)
  • ✅ 挑战过期机制(5分钟)
  • ✅ 来源验证
  • ✅ 防重放攻击
  • ✅ 用户权限验证

开发说明

目录结构

zibll-webauthn/ # 插件文件夹(必须使用此名称) ├── zibll-webauthn.php # 主插件文件 ├── composer.json # Composer配置 ├── README.md # 说明文档 ├── includes/ # 核心类文件 │ ├── class-webauthn-handler.php # WebAuthn处理器 │ ├── class-ajax-handler.php # AJAX处理器 │ └── class-user-credentials.php # 用户凭证管理 ├── assets/ # 前端资源 │ ├── js/ │ │ └── webauthn.js # 前端JavaScript │ └── css/ │ └── webauthn.css # 样式文件 └── templates/ # 模板文件 ├── account-settings.php # 账户设置页面模板 └── login-button.php # 登录按钮模板

AJAX端点

注册相关

  • webauthn_register_options - 获取注册选项
  • webauthn_register_verify - 验证注册

认证相关(登录)

  • webauthn_login_options - 获取登录选项
  • webauthn_login_verify - 验证登录

凭证管理

  • webauthn_list_credentials - 列出凭证
  • webauthn_delete_credential - 删除凭证
  • webauthn_rename_credential - 重命名凭证

过滤器和动作钩子

// 修改登录后重定向URL add_filter('zibll_webauthn_login_redirect', function($url) { return home_url('/dashboard'); }); // 在添加通行证后执行操作 add_action('zibll_webauthn_credential_added', function($user_id, $credential_id) { // 自定义逻辑 }, 10, 2);

故障排除

浏览器不支持通行证

确保您使用的是支持WebAuthn的现代浏览器,且已更新到最新版本。

注册失败

  1. 检查站点是否使用HTTPS(本地开发可使用localhost)
  2. 确认浏览器有访问生物识别设备的权限
  3. 查看浏览器控制台是否有错误信息

登录失败

  1. 确认通行证是在当前设备上创建的
  2. 检查凭证是否已被删除
  3. 尝试重新添加通行证

更新日志

1.0.0 (2024-01-XX)

  • 首次发布
  • 支持通行证注册和登录
  • 完整的凭证管理功能
  • 适配Zibll主题UI

许可证

GPL v2 or later

支持

如有问题或建议,请访问 天云港官网 联系技术支持。

About

适配于Zibll主题的PassKey快捷登录

Language
PHP60.5%
JavaScript30.4%
CSS9.1%