Files
ttstd-infinite-canvas/backend/internal/emailidentity/email.go
Catlaxy AI 0b1e62a6a7 fix(auth): 注册唯一性检查识别 Gmail 邮箱别名
合并 #681:注册唯一性检查识别 Gmail 邮箱别名
2026-10-06 09:23:04 +08:00

17 lines
590 B
Go

// Package emailidentity defines mailbox equivalence for uniqueness checks.
package emailidentity
import "strings"
// Canonical preserves provider-specific local parts except for Gmail aliases.
// It is not an account lookup key: existing accounts may share a mailbox.
func Canonical(value string) string {
value = strings.ToLower(strings.TrimSpace(value))
local, domain, ok := strings.Cut(value, "@")
if !ok || (domain != "gmail.com" && domain != "googlemail.com") {
return value
}
local, _, _ = strings.Cut(local, "+")
return strings.ReplaceAll(local, ".", "") + "@gmail.com"
}