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
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
- 📖 Usage Guide - Complete user and admin guide
- 🔒 Security Guide - Multi-layer security implementation
- ⚙️ Configuration - Detailed configuration options
- 🎨 Theming & Customization - Styling and branding
- 📑 Full Documentation Index - All available documentation
Quick Links
- 🔧 Advanced Configuration - Performance, MFA, subsites
- 🏗️ Multiple Domains Setup - Complex domain configurations
- 🔍 Troubleshooting - Common issues and solutions
🎯 How It Works
For Users
- Register: Log in with password, then register your passkey (fingerprint/face/security key)
- Login: Next time, just click "Sign in with Passkey" and authenticate
- Manage: Visit
/passkey-managementto add/remove passkeys
For Admins
- Overview: Visit
/admin/passkey-credentialsto manage all passkeys - Configuration: Check
/admin/passkey-hostsfor domain setup - Monitoring: Track usage and security across your organization
🔒 Security & Browser Support
Enterprise-Grade Security
The module implements 6 layers of security protection:
- 🛡️ User-Agent Filtering - Blocks bots and automated attacks
- ⚡ Rate Limiting - Prevents brute force attacks (5 req/hour default)
- 📏 Request Size Limits - Stops payload attacks (1KB limit)
- 🌐 Origin Validation - Prevents CSRF attacks
- 🔑 CSRF Token Protection - Secures state-changing operations
- 📊 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 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 gienielab/silverstripe-passkey-auth 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Automatically logs-in users if they are already authenticated by a remote source. (e.g. environment variable REMOTE_USER)
GraphQL authentication for your headless Craft CMS applications.
Provide a way to secure accesses to all routes of an symfony application.
Laravel middleware to restrict a site or specific routes using HTTP basic authentication
Analytics chooser extensions for site settings.
统计信息
- 总下载量: 117
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 39
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2025-08-07