diff --git a/gui/rpk-gui/src/providers/auth-provider.tsx b/gui/rpk-gui/src/providers/auth-provider.tsx index c1e9a92..4c5f272 100644 --- a/gui/rpk-gui/src/providers/auth-provider.tsx +++ b/gui/rpk-gui/src/providers/auth-provider.tsx @@ -1,6 +1,7 @@ import isEmpty from 'lodash/isEmpty'; import { AuthProvider } from "@refinedev/core"; import {IUser} from "../interfaces"; +import {OnErrorResponse} from "@refinedev/core/src/contexts/auth/types"; const API_URL = "/api/v1"; const LOCAL_STORAGE_USER_KEY = "rpk-gui-current-user"; @@ -140,19 +141,21 @@ export const authProvider: AuthProvider = { getPermissions: async () => { throw new Error("Not implemented"); }, onError: async (error) => { if (error?.status === 401) { - forget_user() - return Promise<{ + forget_user(); + return { redirectTo: "/login", logout: true, error: { message: "Authentication required" }, - }>; + } as OnErrorResponse; } else if (error?.status === 403) { - return Promise<{ + return { error: { message: "Insufficient credentials" }, - }>; + } as OnErrorResponse; } - return {}; + return { + error: { message: "Unexpected authentication error" }, + } as OnErrorResponse; }, };