fix(clients): reject dot names and recover legacy clients (#7062)

Reject reserved dot-segment client names and recover legacy records through query aliases. Preserve token scopes and path identity precedence, and update the generated API reference.
This commit is contained in:
Benjamin Mitchell
2026-11-05 09:02:39 -08:00
committed by GitHub
parent 2541080c91
commit cd176faf4e
29 changed files with 895 additions and 17 deletions
+3
View File
@@ -37,6 +37,9 @@ func hasForbiddenClientChar(s string) bool {
}
func validateClientEmail(email string) error {
if email == "." || email == ".." {
return common.NewError("client email must not be '.' or '..'")
}
if hasForbiddenClientChar(email) {
return common.NewError("client email contains an invalid character:", email)
}
@@ -7,6 +7,10 @@ func TestValidateClientEmail(t *testing.T) {
"alice",
"alice@example.com",
"user-123_test.name",
"...",
".alice",
"alice.",
"alice..example",
"имя",
}
for _, email := range valid {
@@ -16,6 +20,8 @@ func TestValidateClientEmail(t *testing.T) {
}
invalid := []string{
".",
"..",
"i6dui/",
"a/b",
"client with spaces",