auth & cache

This commit is contained in:
h z
2024-12-03 11:29:16 +00:00
parent b355b867a5
commit d035a781ae
9 changed files with 118 additions and 9 deletions

30
src/AuthProvider.js Normal file
View File

@@ -0,0 +1,30 @@
import React, { createContext, useEffect, useState } from "react";
import { UserManager } from "oidc-client-ts";
import {oidcConfig} from "./oicdConfig";
export const AuthContext = createContext();
const AuthProvider = ({ children }) => {
const [user, setUser] = useState(null);
const userManager = new UserManager(oidcConfig);
useEffect(() => {
userManager.getUser().then((user) => {
if (user && !user.expired) {
setUser(user);
}
});
}, [userManager]);
const login = () => userManager.signinRedirect();
const logout = () => userManager.signoutRedirect();
return (
<AuthContext.Provider value={{ user, login, logout }}>
{children}
</AuthContext.Provider>
);
};
export default AuthProvider;