From 1344048d43e8b5e0f5dc79140fe202bd8a205f1c Mon Sep 17 00:00:00 2001 From: Alberto Defendi <1369-ahl-berto@users.noreply.gitlab.inf.unibz.it> Date: Sun, 16 May 2021 15:34:22 +0200 Subject: [PATCH] Replace localstorage with data from AuthContext. --- src/api/PrivateRoute/PrivateRoute.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/api/PrivateRoute/PrivateRoute.tsx b/src/api/PrivateRoute/PrivateRoute.tsx index 95065f0..de89491 100644 --- a/src/api/PrivateRoute/PrivateRoute.tsx +++ b/src/api/PrivateRoute/PrivateRoute.tsx @@ -1,7 +1,8 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useContext } from 'react'; import axios from 'axios'; import { Route, Redirect, RouteProps } from 'react-router-dom'; import { NonAuthRoutes } from 'api/routes'; +import { AuthContext } from 'components/AuthUser/AuthContext'; /** * A wrapper for <Route> that redirects to the login screen if you're not yet authenticated. @@ -21,6 +22,7 @@ export const PrivateRoute = ({ }: Props): JSX.Element => { const [auth, setAuth] = useState<boolean>(false); const [loading, setLoading] = useState<boolean>(false); + const { role } = useContext(AuthContext); useEffect(() => { const fetch = async (): Promise<unknown> => { @@ -32,8 +34,7 @@ export const PrivateRoute = ({ fetch(); }, []); - const currentRole = String(sessionStorage.getItem('ROLE')); - const userHasRequiredRole = requiredRoles.includes(currentRole); + const userHasRequiredRole = requiredRoles.includes(role); const message = userHasRequiredRole ? 'Please log in to view this page' : 'Your role is not allowed'; -- GitLab