No description
Find a file
Justin Hammond 4474bfc283 Implement Phase 2.3: WebAuthn/FIDO2 Authentication Provider
Add comprehensive WebAuthn/FIDO2 support with dual-mode functionality for both
passwordless authentication and multi-factor authentication (MFA).

Key features:
- Dual-mode provider implementing both AuthProvider and MFAProvider interfaces
- Full WebAuthn protocol support using go-webauthn/webauthn library
- Credential and challenge management via StateStore interface
- Configurable security options (attestation, user verification, resident keys)
- Comprehensive test coverage (61%) with mock implementations
- Support for registration and authentication flows
- Counter validation to detect cloned authenticators
- Challenge expiration and one-time use enforcement

Implementation includes:
- pkg/auth/providers/webauthn/: Complete WebAuthn provider package
  - provider.go: Main dual-mode provider implementation
  - types.go: WebAuthn-specific types and structures
  - config.go: Configuration with validation
  - credential.go: Credential storage and management
  - challenge.go: Challenge generation and validation
  - factory.go: Provider factory for instantiation
  - errors.go: WebAuthn-specific error types
  - Comprehensive test files for all components
  - README.md: Documentation with usage examples

This completes Phase 2.3 and partially completes Phase 3.3 of the project plan,
as the provider supports both primary authentication and MFA modes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 22:29:03 +08:00
.github Create dependabot.yml 2025-05-27 22:18:17 +08:00
docs Implement Phase 2.3: WebAuthn/FIDO2 Authentication Provider 2025-05-27 22:29:03 +08:00
internal/errors Improve test coverage to 81% and fix validation error handling 2025-05-27 22:00:28 +08:00
pkg Implement Phase 2.3: WebAuthn/FIDO2 Authentication Provider 2025-05-27 22:29:03 +08:00
.gitignore Add comprehensive test coverage for core packages 2025-05-23 13:58:56 +08:00
CLAUDE.md Initial commit: Project setup phase 1.1 2025-05-20 22:09:10 +08:00
go.mod Implement Phase 2.3: WebAuthn/FIDO2 Authentication Provider 2025-05-27 22:29:03 +08:00
go.sum Implement Phase 2.3: WebAuthn/FIDO2 Authentication Provider 2025-05-27 22:29:03 +08:00