style: fix linting issues met ESLint
This commit is contained in:
		
							parent
							
								
									4a236a7397
								
							
						
					
					
						commit
						b12c743440
					
				
					 3 changed files with 9 additions and 11 deletions
				
			
		|  | @ -12,7 +12,7 @@ const JWKS_CACHE = true; | ||||||
| const JWKS_RATE_LIMIT = true; | const JWKS_RATE_LIMIT = true; | ||||||
| const REQUEST_PROPERTY_FOR_JWT_PAYLOAD = "jwtPayload"; | const REQUEST_PROPERTY_FOR_JWT_PAYLOAD = "jwtPayload"; | ||||||
| const JWT_ALGORITHM = "RS256"; // Not configurable via env vars since supporting other algorithms would
 | 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 = { | const JWT_PROPERTY_NAMES = { | ||||||
|     username: "preferred_username", |     username: "preferred_username", | ||||||
|  | @ -50,9 +50,9 @@ const verifyJwtToken = expressjwt({ | ||||||
|             throw new Error("Invalid token"); |             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 => config.issuer === issuer); | ||||||
|         if (!idpConfig) { |         if (!idpConfig) { | ||||||
|             throw new Error("Issuer not accepted."); |             throw new Error("Issuer not accepted."); | ||||||
|         } |         } | ||||||
|  | @ -76,7 +76,7 @@ function getAuthenticationInfo(req: AuthenticatedRequest): AuthenticationInfo | | ||||||
|     if (!req.jwtPayload) { |     if (!req.jwtPayload) { | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|     let issuer = req.jwtPayload.iss; |     const issuer = req.jwtPayload.iss; | ||||||
|     let accountType: "student" | "teacher"; |     let accountType: "student" | "teacher"; | ||||||
| 
 | 
 | ||||||
|     if (issuer === idpConfigs.student.issuer) { |     if (issuer === idpConfigs.student.issuer) { | ||||||
|  | @ -113,8 +113,7 @@ export const authenticateUser = [verifyJwtToken, addAuthenticationInfo]; | ||||||
|  * @param accessCondition Predicate over the current AuthenticationInfo. Access is only granted when this evaluates |  * @param accessCondition Predicate over the current AuthenticationInfo. Access is only granted when this evaluates | ||||||
|  *                        to true. |  *                        to true. | ||||||
|  */ |  */ | ||||||
| export const authorize = (accessCondition: (auth: AuthenticationInfo) => boolean) => { | export const authorize = (accessCondition: (auth: AuthenticationInfo) => boolean) => (req: AuthenticatedRequest, res: express.Response, next: express.NextFunction): void => { | ||||||
|     return (req: AuthenticatedRequest, res: express.Response, next: express.NextFunction): void => { |  | ||||||
|         if (!req.auth) { |         if (!req.auth) { | ||||||
|             throw new UnauthorizedException(); |             throw new UnauthorizedException(); | ||||||
|         } else if (!accessCondition(req.auth)) { |         } else if (!accessCondition(req.auth)) { | ||||||
|  | @ -123,7 +122,6 @@ export const authorize = (accessCondition: (auth: AuthenticationInfo) => boolean | ||||||
|             next(); |             next(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Middleware which rejects all unauthenticated users, but accepts all authenticated users. |  * Middleware which rejects all unauthenticated users, but accepts all authenticated users. | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ import {getFrontendAuthConfig} from "../controllers/auth.js"; | ||||||
| import {authenticatedOnly, studentsOnly, teachersOnly} from "../middleware/auth/auth.js"; | import {authenticatedOnly, studentsOnly, teachersOnly} from "../middleware/auth/auth.js"; | ||||||
| const router = express.Router(); | const router = express.Router(); | ||||||
| 
 | 
 | ||||||
| // returns auth configuration for frontend
 | // Returns auth configuration for frontend
 | ||||||
| router.get('/config', (req, res) => { | router.get('/config', (req, res) => { | ||||||
|     res.json(getFrontendAuthConfig()); |     res.json(getFrontendAuthConfig()); | ||||||
| }); | }); | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ async function loadUser(): Promise<User | null> { | ||||||
|     if (!activeRole) { |     if (!activeRole) { | ||||||
|         return null; |         return null; | ||||||
|     } |     } | ||||||
|     let user = await userManagers[activeRole].getUser(); |     const user = await userManagers[activeRole].getUser(); | ||||||
|     authState.user = user; |     authState.user = user; | ||||||
|     authState.accessToken = user?.access_token || null; |     authState.accessToken = user?.access_token || null; | ||||||
|     authState.activeRole = activeRole || null; |     authState.activeRole = activeRole || null; | ||||||
|  | @ -121,9 +121,9 @@ apiClient.interceptors.response.use( | ||||||
|                 console.log("Access token expired, trying to refresh..."); |                 console.log("Access token expired, trying to refresh..."); | ||||||
|                 await renewToken(); |                 await renewToken(); | ||||||
|                 return apiClient(error.config!); // Retry the request
 |                 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() |                 await initiateLogin() | ||||||
|             } |              | ||||||
|         } |         } | ||||||
|         return Promise.reject(error); |         return Promise.reject(error); | ||||||
|     } |     } | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Lint Action
						Lint Action