import { AuthBindings } from "@refinedev/core"; import dataProvider, {axiosInstance} from "@refinedev/simple-rest"; export const TOKEN_KEY = "refine-auth"; export const authProvider: AuthBindings = { login: async ({ email, password }) => { if (email && password) { const api = dataProvider('https://*****/pass/login/') const response = await api.custom({ method: 'post', url: "https://***.****.com/pass/login/", payload:{ "email":email, "password":password } }) console.log(response) axiosInstance.defaults.headers.common = { Authorization: `Bearer ${response.data.token}`, }; localStorage.setItem(TOKEN_KEY, email); return { success: true, redirectTo: "/", }; } return { success: false, error: { name: "LoginError", message: "Invalid username or password", }, }; }, logout: async () => { localStorage.removeItem(TOKEN_KEY); return { success: true, redirectTo: "/login", }; }, check: async () => { const token = localStorage.getItem(TOKEN_KEY); if (token) { return { authenticated: true, }; } return { authenticated: false, redirectTo: "/login", }; }, getPermissions: async () => null, getIdentity: async () => { const token = localStorage.getItem(TOKEN_KEY); if (token) { return { id: 1, name: "John Doe", avatar: "https://i.pravatar.cc/300", }; } return null; }, onError: async (error) => { console.error(error); return { error }; }, };