markdown editor

This commit is contained in:
h z
2024-12-04 16:53:35 +00:00
parent 55ddd17bf0
commit 413896c54b
9 changed files with 155 additions and 24 deletions

View File

@@ -7,33 +7,43 @@ export const AuthContext = createContext({
user: null,
login: () => {},
logout: () => {},
roles: [],
});
const AuthProvider = ({ children }) => {
const [user, setUser] = useState(null);
const [roles, setRoles] = useState([]);
const userManager = new UserManager(appConfig.oidcConfig);
useEffect(() => {
userManager.getUser()
.then((user) => {
if (user && !user.expired) {
setUser(user);
localStorage.setItem("accessToken", user.access_token);
} else if (user && user.expired) {
userManager.signinSilent()
.then((newUser) => {
setUser(newUser);
localStorage.setItem("accessToken", newUser.access_token);
})
.catch((err) => {
console.error(err);
})
}
});
}, [userManager]);
if (user && !user.expired) {
setUser(user);
localStorage.setItem("accessToken", user.access_token);
const clientRoles = user?.profile?.resource_access?.[appConfig.kc_client_id]?.roles || [];
setRoles(clientRoles);
} else if (user && user.expired) {
userManager.signinSilent()
.then((newUser) => {
setUser(newUser);
localStorage.setItem("accessToken", newUser.access_token);
const clientRoles =
newUser?.profile?.resource_access?.[appConfig.kc_client_id]?.roles || [];
setRoles(clientRoles);
})
.catch((err) => {
console.error(err);
})
}
});
}, [userManager]);
const login = () => {
userManager.signinRedirect().catch((err) => {
userManager
.signinRedirect()
.catch(
(err) => {
console.log(appConfig);
console.log(err);
});
@@ -41,7 +51,7 @@ const AuthProvider = ({ children }) => {
const logout = () => userManager.signoutRedirect();
return (
<AuthContext.Provider value={{ user, login, logout }}>
<AuthContext.Provider value={{ user, roles, login, logout }}>
{children}
</AuthContext.Provider>
);