diff --git a/packages/integration-tests/src/logto-context.ts b/packages/integration-tests/src/logto-context.ts index cd19e8feb..4016d8f31 100644 --- a/packages/integration-tests/src/logto-context.ts +++ b/packages/integration-tests/src/logto-context.ts @@ -53,8 +53,8 @@ export class LogtoContext { public async init() { const account = { - username: generatePassword(), - password: generateUsername(), + username: generateUsername(), + password: generatePassword(), }; const codeVerifier = generateCodeVerifier(); const codeChallenge = await generateCodeChallenge(codeVerifier); diff --git a/packages/integration-tests/src/utils.ts b/packages/integration-tests/src/utils.ts index 1d074b0b2..b775a513b 100644 --- a/packages/integration-tests/src/utils.ts +++ b/packages/integration-tests/src/utils.ts @@ -6,5 +6,5 @@ export const extractCookie = (response: Response) => { return headers['set-cookie']?.join('; ') ?? ''; }; -export const generateUsername = () => `usr-${crypto.randomUUID()}`; -export const generatePassword = () => `pwd-${crypto.randomUUID()}`; +export const generateUsername = () => `usr_${crypto.randomUUID().replaceAll('-', '_')}`; +export const generatePassword = () => `pwd_${crypto.randomUUID()}`; diff --git a/packages/phrases-ui/src/locales/en.ts b/packages/phrases-ui/src/locales/en.ts index 65cdfe745..9161572d9 100644 --- a/packages/phrases-ui/src/locales/en.ts +++ b/packages/phrases-ui/src/locales/en.ts @@ -58,7 +58,7 @@ const translation = { password_required: 'Password is required', username_exists: 'Username already exists', username_should_not_start_with_number: 'Username should not start with a number', - username_valid_charset: 'Username should only contain letters, numbers, or underscore.', + username_valid_charset: 'Username should only contain letters, numbers, or underscores.', invalid_email: 'The email is invalid', invalid_phone: 'The phone number is invalid', password_min_length: 'Password requires a minimum of {{min}} characters', diff --git a/packages/shared/src/regex.ts b/packages/shared/src/regex.ts index 603af7e5b..e28cb1931 100644 --- a/packages/shared/src/regex.ts +++ b/packages/shared/src/regex.ts @@ -1,6 +1,6 @@ export const emailRegEx = /^\S+@\S+\.\S+$/; export const phoneRegEx = /^\d+$/; -export const usernameRegEx = /^[A-Z_a-z-][\w-]*$/; +export const usernameRegEx = /^[A-Z_a-z]\w*$/; export const passwordRegEx = /^.{6,}$/; export const redirectUriRegEx = /^https?:\/\//; export const hexColorRegEx = /^#[\da-f]{3}([\da-f]{3})?$/i;