diff --git a/adminforth/modules/restApi.ts b/adminforth/modules/restApi.ts index a8311a7bd..2ad0b8861 100644 --- a/adminforth/modules/restApi.ts +++ b/adminforth/modules/restApi.ts @@ -718,6 +718,7 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI { if (!userRecord) { + response.setStatus(401); return { error: INVALID_MESSAGE }; } @@ -748,6 +749,7 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI { }); } } else { + response.setStatus(401); return { error: INVALID_MESSAGE }; } diff --git a/adminforth/spa/src/utils/utils.ts b/adminforth/spa/src/utils/utils.ts index 37accb1f1..b64b1e0d9 100644 --- a/adminforth/spa/src/utils/utils.ts +++ b/adminforth/spa/src/utils/utils.ts @@ -141,7 +141,7 @@ export async function callApi({path, method, body, headers, silentError = false, const fullPath = `${import.meta.env.VITE_ADMINFORTH_PUBLIC_PATH || ''}${path}`; try { const r = await fetch(fullPath, options); - if (r.status == 401 ) { + if (r.status == 401 && !path.includes('/login')) { useUserStore().unauthorize(); useCoreStore().resetAdminUser(); await redirectToLogin(); diff --git a/adminforth/types/Back.ts b/adminforth/types/Back.ts index 78a480c35..a241da95c 100644 --- a/adminforth/types/Back.ts +++ b/adminforth/types/Back.ts @@ -36,7 +36,7 @@ export interface IConfigValidator { export interface IAdminForthHttpResponse { setHeader: (key: string, value: string) => void, - setStatus: (code: number, message: string) => void, + setStatus: (code: number, message?: string) => void, blobStream: () => Writable, };