logo
0
0
WeChat Login

PassKey

Typecho 通行密钥(WebAuthn / Passkey)登录与管理插件。

功能

  • 后台登录页支持通行密钥登录
  • 个人设置页支持绑定、重命名、解绑通行密钥
  • 服务端校验 challengeoriginrpId、签名和 signCount
  • 登录使用 Typecho 标准 simpleLogin,并补充 session 安全处理
  • 非 HTTPS / 非安全上下文页面会直接提示不可用

环境要求

  • Typecho >= 1.2.0
  • 浏览器支持 WebAuthn / Passkey
  • PHP 已启用 OpenSSL 扩展
  • PHP 已启用 Session

使用说明

  1. 系统设置中的站点地址必须填写为实际访问地址,并且包含协议和域名,例如 https://blog.example.com
  2. 通行密钥仅支持安全上下文,正式环境请使用 HTTPS
  3. 进入个人设置,点击“绑定通行密钥”
  4. 按系统弹窗完成绑定
  5. 登录页点击“通行密钥登录”完成验证

注意

  • siteUrl 必须和你实际访问后台的域名一致
  • 如果站点域名发生变化,已绑定的通行密钥通常需要重新绑定

路由

  • POST /passkey/challenge 获取登录 challenge
  • POST /passkey/verify 提交通行密钥断言并登录
  • POST /passkey/register/options 获取绑定参数
  • POST /passkey/register/finish 完成绑定并保存凭据

存储

  • 用户通行密钥数据保存在 table.optionspasskey_user_data
  • 凭据索引保存在 table.optionspasskey_setup

1.1.0

  • 完善 WebAuthn 注册、登录阶段的服务端校验
  • 修复插件升级、禁用再启用后的兼容问题
  • 优化存储结构,拆分用户数据和全局索引
  • 登录和绑定提示统一改为中文
  • 非 HTTPS 页面下增加更明确的使用提示

About

Typecho 1.2.0+ 的 PassKey 插件

260.00 KiB
0 forks0 stars1 branches3 TagREADMEWTFPL license
Language
PHP81.5%
Smarty18.5%