|
@@ -16,7 +16,7 @@ type TwoFA struct {
|
|
|
Id int `json:"id" gorm:"primaryKey"`
|
|
Id int `json:"id" gorm:"primaryKey"`
|
|
|
UserId int `json:"user_id" gorm:"unique;not null;index"`
|
|
UserId int `json:"user_id" gorm:"unique;not null;index"`
|
|
|
Secret string `json:"-" gorm:"type:varchar(255);not null"` // TOTP密钥,不返回给前端
|
|
Secret string `json:"-" gorm:"type:varchar(255);not null"` // TOTP密钥,不返回给前端
|
|
|
- IsEnabled bool `json:"is_enabled" gorm:"default:false"`
|
|
|
|
|
|
|
+ IsEnabled bool `json:"is_enabled"`
|
|
|
FailedAttempts int `json:"failed_attempts" gorm:"default:0"`
|
|
FailedAttempts int `json:"failed_attempts" gorm:"default:0"`
|
|
|
LockedUntil *time.Time `json:"locked_until,omitempty"`
|
|
LockedUntil *time.Time `json:"locked_until,omitempty"`
|
|
|
LastUsedAt *time.Time `json:"last_used_at,omitempty"`
|
|
LastUsedAt *time.Time `json:"last_used_at,omitempty"`
|
|
@@ -30,7 +30,7 @@ type TwoFABackupCode struct {
|
|
|
Id int `json:"id" gorm:"primaryKey"`
|
|
Id int `json:"id" gorm:"primaryKey"`
|
|
|
UserId int `json:"user_id" gorm:"not null;index"`
|
|
UserId int `json:"user_id" gorm:"not null;index"`
|
|
|
CodeHash string `json:"-" gorm:"type:varchar(255);not null"` // 备用码哈希
|
|
CodeHash string `json:"-" gorm:"type:varchar(255);not null"` // 备用码哈希
|
|
|
- IsUsed bool `json:"is_used" gorm:"default:false"`
|
|
|
|
|
|
|
+ IsUsed bool `json:"is_used"`
|
|
|
UsedAt *time.Time `json:"used_at,omitempty"`
|
|
UsedAt *time.Time `json:"used_at,omitempty"`
|
|
|
CreatedAt time.Time `json:"created_at"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
|
|
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
|