gienielab/silverstripe-passkey-auth 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gienielab/silverstripe-passkey-auth

Composer 安装命令:

composer require gienielab/silverstripe-passkey-auth

包简介

A comprehensive passkey (WebAuthn) authentication module for SilverStripe with secure, passwordless authentication using biometrics, security keys, or device authentication.

README 文档

README

Latest Stable Version Total Downloads License

A comprehensive passkey (WebAuthn) authentication module for SilverStripe that provides secure, passwordless authentication using biometrics, security keys, or device authentication.

✨ Features

  • 🔐 Enterprise Security: 6-layer security protection with comprehensive threat mitigation
  • 👆 Multiple Authentication Methods: Fingerprint, face recognition, security keys
  • 🔄 Dual Login System: Works alongside traditional password authentication
  • 📱 Cross-Platform: Works on desktop and mobile devices
  • 🛡️ Advanced Protection: Rate limiting, CSRF protection, bot filtering, comprehensive logging
  • 🛠️ Admin Management: Full admin interface for credential management
  • 👤 User Self-Service: Users can manage their own passkeys
  • 🎨 Customizable Styling: YAML-based theming and modern CSS
  • 🏢 Enterprise Ready: MFA compatibility, subsites support, performance optimized

📋 Requirements

  • SilverStripe ^5.0 || ^6.0
  • PHP ^8.3
  • HTTPS enabled (required for WebAuthn)
  • Modern browser with WebAuthn support

🚀 Quick Installation

1. Install via Composer

composer require gienielab/silverstripe-passkey-auth

2. Run Database Build

vendor/bin/sake dev/build flush=1

3. Configure Domains

Add to your .env file:

SS_ALLOWED_HOSTS="yourdomain.com,www.yourdomain.com"

4. Basic Configuration

Create app/_config/passkey-config.yml:

---
Name: passkey-config
---
GienieLab\PasskeyAuth\Service\PasskeyService:
  extensions:
    - GienieLab\PasskeyAuth\Extension\PasskeyHostExtension
  rp_name: 'Your Application Name'

That's it! 🎉 Your passkey authentication is ready to use.

📚 Documentation

Essential Guides

Quick Links

🎯 How It Works

For Users

  1. Register: Log in with password, then register your passkey (fingerprint/face/security key)
  2. Login: Next time, just click "Sign in with Passkey" and authenticate
  3. Manage: Visit /passkey-management to add/remove passkeys

For Admins

  • Overview: Visit /admin/passkey-credentials to manage all passkeys
  • Configuration: Check /admin/passkey-hosts for domain setup
  • Monitoring: Track usage and security across your organization

🔒 Security & Browser Support

Enterprise-Grade Security

The module implements 6 layers of security protection:

  1. 🛡️ User-Agent Filtering - Blocks bots and automated attacks
  2. ⚡ Rate Limiting - Prevents brute force attacks (5 req/hour default)
  3. 📏 Request Size Limits - Stops payload attacks (1KB limit)
  4. 🌐 Origin Validation - Prevents CSRF attacks
  5. 🔑 CSRF Token Protection - Secures state-changing operations
  6. 📊 Comprehensive Logging - Monitors all security events

See Security Guide for complete implementation details and testing.

HTTPS Required

Passkeys require HTTPS in production. Localhost and development domains are automatically allowed.

Browser Compatibility

Browser Support Notes
Chrome 67+ ✅ Full Best support
Firefox 60+ ✅ Full Good support
Safari 14+ ✅ Full iOS 14+ required
Edge 18+ ✅ Full Chromium-based

🛠️ Development

Prerequisites

  • Node.js (v18+)
  • Yarn
  • PHP ^8.3

Building Assets

# Install dependencies
yarn install

# Production build
yarn build

# Development with watch
yarn watch

# Development server
yarn dev

Build Features

  • Modern ES6+ Support: Babel transpilation
  • SCSS Compilation: PostCSS optimization
  • Code Splitting: Performance optimization
  • Source Maps: Development debugging
  • Hot Module Replacement: Instant feedback

Project Structure

├── _config/           # SilverStripe configuration
## 🤝 Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Submit a pull request

See [Development Documentation](docs/USAGE.md#development--contribution) for detailed guidelines.

## 📄 License

This module is released under the MIT license. See [LICENSE](LICENSE) file for details.

## 🙏 Credits

Built with:
- [web-auth/webauthn-lib](https://github.com/web-auth/webauthn-lib) - WebAuthn server library
- [SilverStripe Framework](https://silverstripe.org) - CMS/Framework
- WebAuthn specification by [W3C](https://w3c.github.io/webauthn/)

## 🆘 Support

- **📖 Documentation**: [Complete documentation](docs/README.md)
- **🐛 Bug Reports**: [GitHub Issues](https://github.com/gienielab/silverstripe-passkey-auth/issues)
- **💬 Questions**: [SilverStripe Community](https://forum.silverstripe.org)
- **🔒 Security Issues**: Email maintainers directly

---

**Ready to get started?** Check out the [Usage Guide](docs/USAGE.md) for detailed instructions! 🚀

gienielab/silverstripe-passkey-auth 适用场景与选型建议

gienielab/silverstripe-passkey-auth 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 117 次下载、GitHub Stars 达 2, 最近一次更新时间为 2025 年 08 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「security」 「Authentication」 「silverstripe」 「Passwordless」 「biometric」 「FIDO2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 gienielab/silverstripe-passkey-auth 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 gienielab/silverstripe-passkey-auth 我们能提供哪些服务?
定制开发 / 二次开发

基于 gienielab/silverstripe-passkey-auth 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 117
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 39
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2025-08-07