CEC-2977 Filter portal access based on auth provider (#231)

* fix/fleet-vehicles-search

* fix/fleet-name-update

* Update hasRole logic, create RoleWrap component

* Add MAGNA and MAGNAGROUP env vars

* Add Permissions

Co-authored-by: jwu-fisker <jwu@fiskerinc.com>
This commit is contained in:
arpanetus
2022-11-09 06:46:33 +06:00
committed by GitHub
parent 94950d583e
commit f2f046968e
76 changed files with 1321 additions and 917 deletions

View File

@@ -2,7 +2,7 @@ import React, { useContext, useEffect, useState } from "react";
import auth from "../../services/auth";
import getTimerWorker from "../../services/getTimerWorker";
import { parsePayload } from "../../utils/jwt";
import { getGroups } from "../../utils/roles";
import {getGroups, getProviders} from "../../utils/roles";
const UserContext = React.createContext();
@@ -10,6 +10,7 @@ export const UserProvider = ({ children }) => {
const [fetching, setFetching] = useState(false);
const [token, setToken] = useState(null);
const [groups, setGroups] = useState(null);
const [providers, setProviders] = useState(null);
const [error, setError] = useState(null);
let timer;
@@ -73,6 +74,7 @@ export const UserProvider = ({ children }) => {
}
setGroups(getGroups(idToken));
setProviders(getProviders(idToken));
startSessionTimer();
} catch (e) {
setError(`Verify error. ${e.message}`);
@@ -106,6 +108,7 @@ export const UserProvider = ({ children }) => {
const signOut = () => {
setGroups(null);
setProviders(null);
setToken(null);
if (localStorage) {
localStorage.removeItem("token");
@@ -153,6 +156,7 @@ export const UserProvider = ({ children }) => {
error,
fetching,
groups,
providers,
token,
getAuthorizeURL,
getLogoutURL,