Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 39x 901x 901x 25x 25x 876x 876x 876x 9x 9x 867x 867x 39x 450x 450x 113x 445x 337x 445x 445x | import { getJwtResponse } from "server/utils/jwt";
import { logger } from "server/utils/logger";
import { UserGroup } from "shared/types/models/user";
export const getAuthorizedUsername = (
authHeader: string | undefined,
requiredUserGroup: UserGroup | UserGroup[],
): string | null => {
logger.debug(`Auth: Require jwt for user group ${String(requiredUserGroup)}`);
if (authHeader?.split(" ", 1)[0] !== "Bearer") {
logger.info("Auth: No auth header");
return null;
}
// Strip 'bearer' from authHeader
const jwt = authHeader.split("Bearer ", 2)[1];
const jwtResponse = getJwtResponse(jwt, requiredUserGroup);
if (jwtResponse.status === "error") {
logger.info(
`Auth: Invalid jwt for user group '${String(requiredUserGroup)}'`,
);
return null;
}
logger.debug(`Auth: Valid jwt for user group ${String(requiredUserGroup)}`);
return jwtResponse.body.username;
};
export const getAuthorizedUserGroup = (
authHeader: string | undefined,
): UserGroup | null => {
logger.debug("Auth: Get userGroup for user");
if (authHeader?.split(" ", 1)[0] !== "Bearer") {
return null;
}
// Strip 'bearer' from authHeader
const jwt = authHeader.split("Bearer ", 2)[1];
// Any userGroup is fine, we want to know what the group is
const jwtResponse = getJwtResponse(jwt, [
UserGroup.ADMIN,
UserGroup.HELPER,
UserGroup.USER,
]);
Iif (jwtResponse.status === "error") {
return null;
}
return jwtResponse.body.userGroup;
};
|