From 943784b64a432b3aded4758148aabd4c6d8f5f83 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Sat, 20 Jun 2026 13:22:09 +0330 Subject: [PATCH] feat: update login functionality to remove refresh token and adjust password requirements --- assets/admin/pages/LoginPage.tsx | 16 ++++++++++------ assets/admin/stores/authStore.ts | 10 +++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/admin/pages/LoginPage.tsx b/assets/admin/pages/LoginPage.tsx index 51a019c5..8231b16c 100644 --- a/assets/admin/pages/LoginPage.tsx +++ b/assets/admin/pages/LoginPage.tsx @@ -30,6 +30,7 @@ export default function LoginPage() { const [forgotMobile, setForgotMobile] = useState(''); const [forgotCode, setForgotCode] = useState(''); const [forgotUuid, setForgotUuid] = useState(''); + const [forgotGrant, setForgotGrant] = useState(''); const [forgotPass, setForgotPass] = useState(''); const [forgotPass2, setForgotPass2] = useState(''); const [showNewPass, setShowNewPass] = useState(false); @@ -71,7 +72,7 @@ export default function LoginPage() { }); const json = await res.json(); if (!res.ok) { toast.error(json?.errors?.[0]?.message ?? 'خطا در ورود'); return; } - login(json.access_token, json.refresh_token ?? ''); + login(json.access_token); toast.success('خوش آمدید'); } catch { toast.error('خطا در اتصال به سرور'); } finally { setPwLoading(false); } @@ -111,14 +112,16 @@ export default function LoginPage() { const vJson = await vRes.json(); if (!vRes.ok) { toast.error(vJson?.errors?.[0]?.message ?? 'کد نادرست است'); return; } + const grant = vJson?.data?.grant; + const lRes = await fetch('/api/v1/user/otp-login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ uuid: smsUuid }), + body: JSON.stringify({ grant }), }); const lJson = await lRes.json(); if (!lRes.ok) { toast.error(lJson?.errors?.[0]?.message ?? 'کاربری با این شماره یافت نشد'); return; } - login(lJson.access_token, lJson.refresh_token ?? ''); + login(lJson.access_token); toast.success('خوش آمدید'); } catch { toast.error('خطا در اتصال به سرور'); } finally { setSmsLoading(false); } @@ -140,20 +143,21 @@ export default function LoginPage() { }); const json = await res.json(); if (!res.ok) { toast.error(json?.errors?.[0]?.message ?? 'کد نادرست است'); return; } + setForgotGrant(json?.data?.grant ?? ''); setForgotStep(3); } catch { toast.error('خطا در اتصال به سرور'); } finally { setForgotLoading(false); } }; const handleForgotReset = async () => { - if (forgotPass.length < 6) { toast.error('رمز عبور باید حداقل ۶ کاراکتر باشد'); return; } + if (forgotPass.length < 8) { toast.error('رمز عبور باید حداقل ۸ کاراکتر باشد'); return; } if (forgotPass !== forgotPass2) { toast.error('رمزهای عبور یکسان نیستند'); return; } setForgotLoading(true); try { const res = await fetch('/api/v1/user/reset-password', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ uuid: forgotUuid, new_password: forgotPass }), + body: JSON.stringify({ grant: forgotGrant, new_password: forgotPass }), }); const json = await res.json(); if (!res.ok) { toast.error(json?.errors?.[0]?.message ?? 'خطا در تغییر رمز'); return; } @@ -343,7 +347,7 @@ export default function LoginPage() {