fix: do not append domains to users that have an email as the username

This commit is contained in:
Stavros
2026-02-02 16:08:05 +02:00
parent fd16f91011
commit 51d95fa455
5 changed files with 27 additions and 9 deletions

View File

@@ -49,3 +49,11 @@ func TestCoalesceToString(t *testing.T) {
// Test with nil input
assert.Equal(t, "", utils.CoalesceToString(nil))
}
func TestCompileUserEmail(t *testing.T) {
// Test with valid email
assert.Equal(t, "user@example.com", utils.CompileUserEmail("user@example.com", "example.com"))
// Test with invalid email
assert.Equal(t, "user@example.com", utils.CompileUserEmail("user", "example.com"))
}

View File

@@ -2,6 +2,8 @@ package utils
import (
"errors"
"fmt"
"net/mail"
"strings"
"github.com/steveiliop56/tinyauth/internal/config"
@@ -90,3 +92,13 @@ func ParseUser(userStr string) (config.User, error) {
return user, nil
}
func CompileUserEmail(username string, domain string) string {
_, err := mail.ParseAddress(username)
if err != nil {
return fmt.Sprintf("%s@%s", strings.ToLower(username), domain)
}
return username
}