import Express from "express"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import { keycloakAuth } from "./auth-provider/keycloak"; export async function expressAuthentication( request: Express.Request, securityName: string, scopes?: string[], ) { switch (securityName) { case "keycloak": const authData = await keycloakAuth(request, scopes); request.app.locals.logData.sessionId = authData.session_state; return authData; default: throw new HttpError( HttpStatus.NOT_IMPLEMENTED, "Unknown how to verify identity.", "unknowHowToVerify", ); } }