style: fix linting issues met ESLint
This commit is contained in:
		
							parent
							
								
									834ff236aa
								
							
						
					
					
						commit
						394deba56d
					
				
					 3 changed files with 14 additions and 14 deletions
				
			
		|  | @ -12,7 +12,7 @@ const JWKS_CACHE = true; | |||
| const JWKS_RATE_LIMIT = true; | ||||
| const REQUEST_PROPERTY_FOR_JWT_PAYLOAD = "jwtPayload"; | ||||
| const JWT_ALGORITHM = "RS256"; // Not configurable via env vars since supporting other algorithms would
 | ||||
|                                         // require additional libraries to be added.
 | ||||
|                                         // Require additional libraries to be added.
 | ||||
| 
 | ||||
| const JWT_PROPERTY_NAMES = { | ||||
|     username: "preferred_username", | ||||
|  | @ -50,9 +50,9 @@ const verifyJwtToken = expressjwt({ | |||
|             throw new Error("Invalid token"); | ||||
|         } | ||||
| 
 | ||||
|         let issuer = (token.payload as JwtPayload).iss; | ||||
|         const issuer = (token.payload as JwtPayload).iss; | ||||
| 
 | ||||
|         let idpConfig = Object.values(idpConfigs).find(config => config.issuer === issuer); | ||||
|         const idpConfig = Object.values(idpConfigs).find(config => {return config.issuer === issuer}); | ||||
|         if (!idpConfig) { | ||||
|             throw new Error("Issuer not accepted."); | ||||
|         } | ||||
|  | @ -76,7 +76,7 @@ function getAuthenticationInfo(req: AuthenticatedRequest): AuthenticationInfo | | |||
|     if (!req.jwtPayload) { | ||||
|         return; | ||||
|     } | ||||
|     let issuer = req.jwtPayload.iss; | ||||
|     const issuer = req.jwtPayload.iss; | ||||
|     let accountType: "student" | "teacher"; | ||||
| 
 | ||||
|     if (issuer === idpConfigs.student.issuer) { | ||||
|  | @ -128,14 +128,14 @@ export const authorize = (accessCondition: (auth: AuthenticationInfo) => boolean | |||
| /** | ||||
|  * Middleware which rejects all unauthenticated users, but accepts all authenticated users. | ||||
|  */ | ||||
| export const authenticatedOnly = authorize(_ => true); | ||||
| export const authenticatedOnly = authorize(_ => {return true}); | ||||
| 
 | ||||
| /** | ||||
|  * Middleware which rejects requests from unauthenticated users or users that aren't students. | ||||
|  */ | ||||
| export const studentsOnly = authorize(auth => auth.accountType === "student"); | ||||
| export const studentsOnly = authorize(auth => {return auth.accountType === "student"}); | ||||
| 
 | ||||
| /** | ||||
|  * Middleware which rejects requests from unauthenticated users or users that aren't teachers. | ||||
|  */ | ||||
| export const teachersOnly = authorize(auth => auth.accountType === "teacher"); | ||||
| export const teachersOnly = authorize(auth => {return auth.accountType === "teacher"}); | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ import {getFrontendAuthConfig} from "../controllers/auth.js"; | |||
| import {authenticatedOnly, studentsOnly, teachersOnly} from "../middleware/auth/auth.js"; | ||||
| const router = express.Router(); | ||||
| 
 | ||||
| // returns auth configuration for frontend
 | ||||
| // Returns auth configuration for frontend
 | ||||
| router.get('/config', (req, res) => { | ||||
|     res.json(getFrontendAuthConfig()); | ||||
| }); | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ async function loadUser(): Promise<User | null> { | |||
|     if (!activeRole) { | ||||
|         return null; | ||||
|     } | ||||
|     let user = await userManagers[activeRole].getUser(); | ||||
|     const user = await userManagers[activeRole].getUser(); | ||||
|     authState.user = user; | ||||
|     authState.accessToken = user?.access_token || null; | ||||
|     authState.activeRole = activeRole || null; | ||||
|  | @ -43,7 +43,7 @@ const authState = reactive<AuthState>({ | |||
|     activeRole: authStorage.getActiveRole() || null | ||||
| }); | ||||
| 
 | ||||
| const isLoggedIn = computed(() => authState.user !== null); | ||||
| const isLoggedIn = computed(() => {return authState.user !== null}); | ||||
| 
 | ||||
| /** | ||||
|  * Redirect the user to the login page where he/she can choose whether to log in as a student or teacher. | ||||
|  | @ -110,20 +110,20 @@ apiClient.interceptors.request.use(async (reqConfig) => { | |||
|         reqConfig.headers.Authorization = `Bearer ${token}`; | ||||
|     } | ||||
|     return reqConfig; | ||||
| }, (error) => Promise.reject(error)); | ||||
| }, (error) => {return Promise.reject(error)}); | ||||
| 
 | ||||
| // Registering interceptor to refresh the token when a request failed because it was expired.
 | ||||
| apiClient.interceptors.response.use( | ||||
|     response => response, | ||||
|     response => {return response}, | ||||
|     async (error: AxiosError<{message?: string}>) => { | ||||
|         if (error.response?.status === 401) { | ||||
|             if (error.response!.data.message === "token_expired") { | ||||
|                 console.log("Access token expired, trying to refresh..."); | ||||
|                 await renewToken(); | ||||
|                 return apiClient(error.config!); // Retry the request
 | ||||
|             } else { // Apparently, the user got a 401 because he was not logged in yet at all. Redirect him to login.
 | ||||
|             }  // Apparently, the user got a 401 because he was not logged in yet at all. Redirect him to login.
 | ||||
|                 await initiateLogin() | ||||
|             } | ||||
|              | ||||
|         } | ||||
|         return Promise.reject(error); | ||||
|     } | ||||
|  |  | |||
		Reference in a new issue
	
	 Lint Action
						Lint Action