diff --git a/src/api/SwaggerApi.js b/src/api/SwaggerApi.js
index e523f4da0b3873dea0bcd2705d3a77b602bb3a84..3e286ce4c9024c560b073c61ab6aaa96ccd98d71 100644
--- a/src/api/SwaggerApi.js
+++ b/src/api/SwaggerApi.js
@@ -34,19 +34,20 @@ export function useAPI() {
 }
 
 export const apiContext = createContext(null);
-export const userContext = createContext({ user: null, login: ()=>{}, logout: ()=>{} });
+export const userContext = createContext({ user: null, userRoles:[], getUserRoles: ()=>{}, login: ()=>{}, logout: ()=>{} });
 
 export function UserProvider({ children }) {
   const [user, setUser] = useState();
+  const [userRoles, getUserRoles] = useUserRoles();
   const [userInfo, getUserInfo] = useUserInfo();
-  const [isLoggedIn, loginFcn] = useLogin();
+  const [loginResponse, loginFcn] = useLogin();
   const logoutFcn = useLogout();
   const history = useHistory();
 
   console.log("rendering UserProvider")
   console.log(user);
 
-  useEffect(getUserInfo, [isLoggedIn, getUserInfo]);
+  useEffect(getUserInfo, [Boolean(loginResponse), getUserInfo]);
   useEffect(() => userInfo && setUser(userInfo), [setUser, userInfo]);
 
   const logout = async () => {
@@ -58,12 +59,14 @@ export function UserProvider({ children }) {
   const login = async (username, password) => {
     console.log("Logging in!");
     await loginFcn(username, password);
+    await getUserRoles();
     setUser(await getUserInfo());
     console.log(history);
+    console.log(userRoles);
   }
 
   return (
-    <userContext.Provider value={{ user, login, logout }}>
+    <userContext.Provider value={{ user, userRoles, getUserRoles, login, logout }}>
       {children}
     </userContext.Provider>
   );
@@ -372,21 +375,21 @@ export function useHostIOCList(id) {
 }
 
 export function unpackLogin(loginResponse) {
-  console.log(loginResponse)
-  const isLoggedIn = Boolean(loginResponse);
-  return isLoggedIn;
+  return { ...loginResponse };
 }
 
 export function useLogin() {
   const api = useContext(apiContext);
-  const callLogin = (u, p) => api.apis.Authentication.login({}, {
-    requestBody: {
-      userName: u,
-      password: p
-    }
-  });
-  const method = callAndUnpack(callLogin, unpackLogin)
-  return useAsync({ fcn: method, call: false })
+  const method = callAndUnpack(
+    (username, password) => api.apis.Authentication.login({},{
+      requestBody: {
+        userName: username,
+        password: password
+      }
+    }),
+    unpackLogin
+  );
+  return useAsync({ fcn: method, call: false });
 }
 
 export function unpackUser(user) {
@@ -399,6 +402,16 @@ export function useUserInfo() {
   return useAsync({ fcn: method, call: false });
 }
 
+export function unpackUserRoles(roles) {
+  return { ...roles };
+}
+
+export function useUserRoles() {
+  const api = useContext(apiContext);
+  const method = callAndUnpack(api.apis.Authentication.getUserRoles, unpackUserRoles);
+  return useAsync({ fcn: method, call: false });
+}
+
 export function useLogout() {
   const api = useContext(apiContext);
   const method = callAndUnpack(api.apis.Authentication.logout);
diff --git a/src/components/auth/TokenRenew.js b/src/components/auth/TokenRenew.js
index bfeca4503b9d2ee05662612abe72f02c440da1f0..46cf2374701dd9e8ef9f07176b3832989bf55072 100644
--- a/src/components/auth/TokenRenew.js
+++ b/src/components/auth/TokenRenew.js
@@ -2,17 +2,18 @@ import { useEffect, useContext } from "react";
 import { useRenewToken, userContext } from "../../api/SwaggerApi";
 
 export default function TokenRenew() {
-  const { user } = useContext(userContext);
+  const { user, getUserRoles } = useContext(userContext);
   const renewToken = useRenewToken();
 
   useEffect(() => {
-    const interval = setInterval(() => {
+    const interval = setInterval(async () => {
       if(user) {
-        renewToken();
+        await renewToken();
+        getUserRoles();
       }
     }, `${window.TOKEN_RENEW_INTERVAL}`);
     return () => clearInterval(interval);
-  }, [renewToken, user]);
+  }, [renewToken, user, getUserRoles]);
     
   return null;
 }
\ No newline at end of file
diff --git a/src/views/home/HomeView.js b/src/views/home/HomeView.js
index bdb7d054222a98c32727ead6da759464f41cec2d..29d4d6002bd2f1e23c7e898f0c7d2e71fae0cad0 100644
--- a/src/views/home/HomeView.js
+++ b/src/views/home/HomeView.js
@@ -18,7 +18,7 @@ export function HomeView() {
   const [iocs, getIocs] = useIOCSearch();
   const [query, setQuery] = useState();
   const [iocFormOpen, setIOCFormOpen] = useState(false);
-  const {user} = useContext(userContext);
+  const {user, userRoles} = useContext(userContext);
   const classes = useStyles();
 
   useEffect(() => getIocs(`${query}`), [query, getIocs]);
@@ -34,6 +34,8 @@ export function HomeView() {
 
   function preFilter(iocs) {
     console.log(iocs);
+    console.log(user);
+    console.log(userRoles);
     const abcIOCs = iocs.filter((ioc) => ioc.owner === user?.loginName).sort((a, b) => a.latestVersion.namingName.localeCompare(b.latestVersion.namingName));
     return abcIOCs;
   }