created login page #4
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import {AuthProvider, HttpError} from "react-admin";
|
||||
import data from "./users.json";
|
||||
|
||||
export const authProvider: AuthProvider = {
|
||||
login: ({ username, password }) => {
|
||||
const user = data.users.find(
|
||||
(u) => u.username === username && u.password === password,
|
||||
);
|
||||
|
||||
if (user) {
|
||||
const { password, ...userToPersist } = user;
|
||||
localStorage.setItem("user", JSON.stringify(userToPersist));
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return Promise.reject(
|
||||
new HttpError("Invalid username or password", 401, {
|
||||
message: "Invalid username or password",
|
||||
}),
|
||||
);
|
||||
},
|
||||
async logout() {
|
||||
localStorage.removeItem("user");
|
||||
return Promise.resolve();
|
||||
},
|
||||
async checkAuth() {
|
||||
return localStorage.getItem("user") ? Promise.resolve() : Promise.reject();
|
||||
},
|
||||
async getIdentity() {
|
||||
const persistedUser = localStorage.getItem("user");
|
||||
const user = persistedUser ? JSON.parse(persistedUser) : null;
|
||||
|
||||
return Promise.resolve(user);
|
||||
},
|
||||
async checkError() {
|
||||
return Promise.resolve();
|
||||
},
|
||||
async getPermissions() {
|
||||
return Promise.resolve(undefined);
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user