import type {AuthProvider} from '@refinedev/core' export const TOKEN_KEY = 'refine-auth' export const authProvider: AuthProvider = { login: async ({username, email, password}) => { if ((username || email) && password) { localStorage.setItem(TOKEN_KEY, username) 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} }, }