33 lines
879 B
Go
33 lines
879 B
Go
package models
|
|
|
|
// DeviceCapabilities holds WebAuthn capability detection results
|
|
type DeviceCapabilities struct {
|
|
Platform bool // Biometrics (Face ID, Touch ID, Windows Hello)
|
|
CrossPlatform bool // Security keys (YubiKey, etc.)
|
|
Conditional bool // Passkey autofill support
|
|
}
|
|
|
|
// RegisterState holds the current registration flow state
|
|
type RegisterState struct {
|
|
Step int
|
|
Method string // "passkey", "security-key", or "qr-code"
|
|
Username string
|
|
Error string
|
|
}
|
|
|
|
// DefaultRegisterState returns a new registration state at step 1
|
|
func DefaultRegisterState() RegisterState {
|
|
return RegisterState{
|
|
Step: 1,
|
|
}
|
|
}
|
|
|
|
// DefaultDeviceCapabilities returns capabilities assuming full support (for testing)
|
|
func DefaultDeviceCapabilities() DeviceCapabilities {
|
|
return DeviceCapabilities{
|
|
Platform: true,
|
|
CrossPlatform: true,
|
|
Conditional: true,
|
|
}
|
|
}
|