mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2025-11-05 00:25:49 +00:00
feat: finalize totp gen code
This commit is contained in:
@@ -218,6 +218,11 @@ func Filter[T any](slice []T, test func(T) bool) (res []T) {
|
||||
|
||||
// Parse user
|
||||
func ParseUser(user string) (types.User, error) {
|
||||
// Check if the user is escaped
|
||||
if strings.Contains(user, "$$") {
|
||||
user = strings.ReplaceAll(user, "$$", "$")
|
||||
}
|
||||
|
||||
// Split the user by colon
|
||||
userSplit := strings.Split(user, ":")
|
||||
|
||||
@@ -228,12 +233,21 @@ func ParseUser(user string) (types.User, error) {
|
||||
|
||||
// Check if the user has a totp secret
|
||||
if len(userSplit) == 2 {
|
||||
// Check for empty username or password
|
||||
if userSplit[1] == "" || userSplit[0] == "" {
|
||||
return types.User{}, errors.New("invalid user format")
|
||||
}
|
||||
return types.User{
|
||||
Username: userSplit[0],
|
||||
Password: userSplit[1],
|
||||
}, nil
|
||||
}
|
||||
|
||||
// Check for empty username, password or totp secret
|
||||
if userSplit[2] == "" || userSplit[1] == "" || userSplit[0] == "" {
|
||||
return types.User{}, errors.New("invalid user format")
|
||||
}
|
||||
|
||||
// Return the user struct
|
||||
return types.User{
|
||||
Username: userSplit[0],
|
||||
|
||||
Reference in New Issue
Block a user