Sign in verified accounts automatically and require eight-character passwords

This commit is contained in:
2026-10-13 16:33:52 +09:00
parent 9e0f493228
commit d6e60ecb3b
18 changed files with 538 additions and 63 deletions

View File

@@ -253,17 +253,25 @@ async function authSubmit() {
return;
}
if (authMode.value === 'verify' || authMode.value === 'email-change') {
const signupVerification = authMode.value === 'verify';
const previousOwner = account.value?.id;
await api(
authMode.value === 'verify' ? '/auth/verify-email' : '/auth/verify-email-change',
'POST',
{ token: token.value },
);
if (signupVerification) {
if (previousOwner) clearAccountUploads(previousOwner);
clearPrivate();
view.value = 'inbox';
}
authMessage.value = '';
await refreshAccount();
token.value = '';
authMode.value = 'login';
authMessage.value = '이메일 인증을 완료했습니다. 로그인해 주세요.';
await refreshAccount();
reconnect();
await refreshLists();
message(signupVerification ? '이메일 인증을 완료했어요.' : '이메일 주소를 변경했습니다.');
return;
}
await api('/auth/reset-password', 'POST', {

View File

@@ -1,16 +1,17 @@
import { readDeviceInfo } from './deviceInfo';
import { PASSWORD_MIN_LENGTH } from '@hop/shared';
import { createRefreshQueue } from './refreshQueue';
import { ref } from 'vue';
import { io } from 'socket.io-client';
export const account = ref(null),
registrationOpen = ref(false),
passwordMinLength = ref(12);
export async function refreshAccount() {
passwordMinLength = ref(PASSWORD_MIN_LENGTH);
export const refreshAccount = createRefreshQueue(async () => {
const result = await api('/auth/me');
account.value = result.account;
registrationOpen.value = result.registrationOpen;
passwordMinLength.value = result.passwordMinLength ?? 12;
}
passwordMinLength.value = result.passwordMinLength ?? PASSWORD_MIN_LENGTH;
});
export function reconnect() {
connect();
}