markdown editor
This commit is contained in:
@@ -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>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user