style: fix linting issues met ESLint

This commit is contained in:
Lint Action 2025-03-09 22:57:12 +00:00
parent 4a236a7397
commit b12c743440
3 changed files with 9 additions and 11 deletions

View file

@ -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.

View file

@ -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());
}); });

View file

@ -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);
} }