fix: 注册密码改为可选,机器注册无需密码
- RegisterRequest.password 移除 @NotBlank - 密码为空时自动生成随机密码 - mediabot 只需 email 即可注册获得 apiKey/apiSecret - 重装后同邮箱重新注册即可,无需记住密码
This commit is contained in:
@@ -15,7 +15,6 @@ public class RegisterRequest {
|
||||
@Email(message = "邮箱格式不正确")
|
||||
private String email;
|
||||
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, max = 128, message = "密码长度须在 6-128 位之间")
|
||||
private String password;
|
||||
|
||||
|
||||
@@ -49,7 +49,15 @@ public class AccountServiceImpl implements AccountService {
|
||||
|
||||
Account account = new Account();
|
||||
account.setEmail(request.getEmail().toLowerCase().trim());
|
||||
account.setPasswordHash(PasswordUtil.encode(request.getPassword()));
|
||||
|
||||
// 密码为空则自动生成(机器注册场景)
|
||||
String password = request.getPassword();
|
||||
if (password == null || password.isBlank()) {
|
||||
byte[] pwdBytes = new byte[16];
|
||||
SECURE_RANDOM.nextBytes(pwdBytes);
|
||||
password = Base64.getUrlEncoder().withoutPadding().encodeToString(pwdBytes);
|
||||
}
|
||||
account.setPasswordHash(PasswordUtil.encode(password));
|
||||
account.setDisplayName(request.getDisplayName());
|
||||
account.setTrustLevel(TrustLevel.MEMBER);
|
||||
account.setIsActive(true);
|
||||
|
||||
Reference in New Issue
Block a user