fix(auth): reject placeholder mobile numbers
This commit is contained in:
@@ -18,7 +18,7 @@ public final class MemberDtos {
|
||||
@NotBlank @Size(min = 8, max = 64)
|
||||
@Pattern(regexp = "^(?=.*[A-Za-z])(?=.*\\d).+$", message = "密码必须同时包含字母和数字") String password,
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@Pattern(regexp = "^1\\d{10}$") String phone,
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@NotBlank String memberType,
|
||||
@Size(max = 64) String memberNo,
|
||||
@@ -30,7 +30,7 @@ public final class MemberDtos {
|
||||
|
||||
public record UpdateMemberRequest(
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@Pattern(regexp = "^1\\d{10}$") String phone,
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@NotBlank String memberType,
|
||||
@Size(max = 64) String memberNo,
|
||||
|
||||
@@ -20,7 +20,7 @@ public final class PlatformInternalUserDtos {
|
||||
Long authUserId,
|
||||
String userType,
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@Pattern(regexp = "^1\\d{10}$") String phone,
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@Pattern(regexp = "^[A-Za-z][A-Za-z0-9_.@-]{3,63}$") String username,
|
||||
@Size(min = 8, max = 64)
|
||||
@@ -31,7 +31,7 @@ public final class PlatformInternalUserDtos {
|
||||
|
||||
public record UpdateInternalUserRequest(
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@Pattern(regexp = "^1\\d{10}$") String phone,
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@NotBlank @Size(max = 64) String memberNo,
|
||||
@NotNull List<Long> roleIds) { }
|
||||
|
||||
@@ -16,7 +16,7 @@ public final class PlatformUserManagementDtos {
|
||||
public record CreateUserRequest(
|
||||
@NotBlank @Pattern(regexp = "^[A-Za-z][A-Za-z0-9_.@-]{3,63}$") String username,
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@NotBlank @Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确") String phone,
|
||||
@NotBlank @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@NotNull Long tenantId,
|
||||
@NotNull List<Long> roleIds,
|
||||
@@ -32,7 +32,7 @@ public final class PlatformUserManagementDtos {
|
||||
|
||||
public record UpdateUserRequest(
|
||||
@NotBlank @Size(max = 64) String displayName,
|
||||
@NotBlank @Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确") String phone,
|
||||
@NotBlank @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确") String phone,
|
||||
@Email @Size(max = 128) String email,
|
||||
@NotNull Long tenantId,
|
||||
@NotNull List<Long> roleIds,
|
||||
|
||||
@@ -17,7 +17,7 @@ public final class ProfileDtos {
|
||||
|
||||
public record ChangeLoginIdentifiersRequest(
|
||||
@NotBlank @Pattern(regexp = "^[A-Za-z][A-Za-z0-9_.@-]{3,63}$") String username,
|
||||
@NotBlank @Pattern(regexp = "^1\\d{10}$") String phone,
|
||||
@NotBlank @Pattern(regexp = "^1[3-9]\\d{9}$") String phone,
|
||||
@NotBlank String currentPassword) { }
|
||||
|
||||
public record AddressRequest(@NotBlank String addressType, String countryCode, String province,
|
||||
|
||||
@@ -982,7 +982,7 @@ components:
|
||||
authUserId: {type: string, pattern: '^\d+$'}
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
email: {type: string, format: email, nullable: true}
|
||||
UpdatePersonalProfileRequest:
|
||||
type: object
|
||||
@@ -995,7 +995,7 @@ components:
|
||||
required: [username, phone, currentPassword]
|
||||
properties:
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
currentPassword: {type: string, format: password, writeOnly: true}
|
||||
PersonalProfileApiResponse:
|
||||
allOf:
|
||||
@@ -1398,7 +1398,7 @@ components:
|
||||
properties:
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
tenantId: {type: integer, format: int64, enum: [0], description: 保留的兼容字段,只允许平台技术作用域 0}
|
||||
roleIds: {type: array, minItems: 1, items: {type: integer, format: int64}}
|
||||
@@ -1410,7 +1410,7 @@ components:
|
||||
required: [displayName, phone, tenantId, roleIds]
|
||||
properties:
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
tenantId: {type: integer, format: int64, enum: [0], description: 保留的兼容字段,只允许平台技术作用域 0}
|
||||
roleIds: {type: array, minItems: 1, items: {type: integer, format: int64}}
|
||||
@@ -1424,7 +1424,7 @@ components:
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
password: {type: string, format: password, minLength: 8, maxLength: 64, writeOnly: true}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
roleIds: {type: array, items: {type: integer, format: int64}}
|
||||
@@ -1433,7 +1433,7 @@ components:
|
||||
required: [displayName, memberNo, roleIds]
|
||||
properties:
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
roleIds: {type: array, items: {type: integer, format: int64}}
|
||||
@@ -1495,7 +1495,7 @@ components:
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
password: {type: string, format: password, minLength: 8, maxLength: 64}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberType: {type: string, enum: [EMPLOYEE]}
|
||||
memberNo: {type: string}
|
||||
@@ -1508,7 +1508,7 @@ components:
|
||||
required: [displayName, memberType]
|
||||
properties:
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
phone: {type: string, pattern: '^1[3-9]\d{9}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberType: {type: string, enum: [EMPLOYEE]}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
|
||||
Reference in New Issue
Block a user