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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue