jws-backend/src/middlewares/auth.ts

24 lines
675 B
TypeScript
Raw Normal View History

2024-04-01 13:28:43 +07:00
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,
2024-04-10 12:46:23 +07:00
scopes?: string[],
2024-04-01 13:28:43 +07:00
) {
switch (securityName) {
case "keycloak":
const authData = await keycloakAuth(request, scopes);
request.app.locals.logData.sessionId = authData.session_state;
return authData;
2024-04-01 13:28:43 +07:00
default:
throw new HttpError(
HttpStatus.NOT_IMPLEMENTED,
"Unknown how to verify identity.",
"unknowHowToVerify",
);
2024-04-01 13:28:43 +07:00
}
}