This commit is contained in:
David Arranz 2024-09-08 13:19:00 +02:00
parent a76e8ab0d4
commit e41dde5c07
7 changed files with 18 additions and 22 deletions

View File

@ -25,7 +25,7 @@ export class AuthenticateController extends ExpressController {
}
// If the user is authenticated, attach the user object to the request and move on to the next middleware
this.req.user = user;
this.req["user"] = user;
return this.next();
}
);

View File

@ -25,7 +25,7 @@ export class IdentityController extends ExpressController {
async executeImpl() {
try {
const user = <AuthUser>this.req.user;
const user = <AuthUser>this.req?.user;
if (!user) {
const errorMessage = "Unexpected missing user data";

View File

@ -16,7 +16,7 @@ export class LoginController extends ExpressController {
props: {
presenter: ILoginPresenter;
},
context: IAuthContext,
context: IAuthContext
) {
super();
@ -27,13 +27,13 @@ export class LoginController extends ExpressController {
async executeImpl() {
try {
const user = <AuthUser>this.req.user;
const user = <AuthUser>this.req?.user;
if (!user) {
const errorMessage = "Unexpected missing user data";
const infraError = InfrastructureError.create(
InfrastructureError.UNEXCEPTED_ERROR,
errorMessage,
errorMessage
);
return this.internalServerError(errorMessage, infraError);
}
@ -44,9 +44,7 @@ export class LoginController extends ExpressController {
refreshToken: this._generateUserRefreshToken(user),
};
return this.ok<ILogin_Response_DTO>(
this.presenter.map(loginUser, this.context),
);
return this.ok<ILogin_Response_DTO>(this.presenter.map(loginUser, this.context));
} catch (e: unknown) {
return this.fail(e as IServerError);
}
@ -59,10 +57,8 @@ export class LoginController extends ExpressController {
}
private _generateUserRefreshToken(user: AuthUser) {
return JWT.sign(
{ email: user.email.toString() },
config.jwt.refresh_secret_key,
{ expiresIn: config.jwt.refresh_token_expiration },
);
return JWT.sign({ email: user.email.toString() }, config.jwt.refresh_secret_key, {
expiresIn: config.jwt.refresh_token_expiration,
});
}
}

View File

@ -8,9 +8,9 @@ const profileMiddleware = (
res: Express.Response,
next: Express.NextFunction
) => {
const user = <AuthUser>req.user;
const user = <AuthUser>req?.user;
if (!user.isAdmin) {
if (!user || !user.isAdmin) {
generateExpressError(req, res, httpStatus.UNAUTHORIZED);
}
next();

View File

@ -10,7 +10,7 @@ export const checkUser = composeMiddleware([
session: false,
}),
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
const user = <AuthUser>req.user;
//const user = <AuthUser>req?.user;
if (req.isAuthenticated()) {
return next();
}
@ -22,8 +22,8 @@ export const checkUser = composeMiddleware([
export const checkisAdmin = composeMiddleware([
checkUser,
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
const user = <AuthUser>req.user;
if (!user.isAdmin) {
const user = <AuthUser>req?.user;
if (!user || !user.isAdmin) {
generateExpressError(req, res, httpStatus.UNAUTHORIZED);
}
return next();
@ -33,11 +33,11 @@ export const checkisAdmin = composeMiddleware([
export const checkAdminOrSelf = composeMiddleware([
checkUser,
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
const user = <AuthUser>req.user;
const user = <AuthUser>req?.user;
const { userId } = req.params;
if (user.isAdmin) {
if (user && user.isAdmin) {
return next();
}

View File

@ -9,7 +9,7 @@ export const getDealerMiddleware = async (
res: Express.Response,
next: Express.NextFunction
) => {
const user = <AuthUser>req.user;
const user = <AuthUser>req?.user;
const context: ISalesContext = res.locals.context;
registerDealerRepository(context);

View File

@ -16,7 +16,7 @@ export const authRouter = (appRouter: Express.Router) => {
);
authRoutes.post("/logout", checkUser, (req: Express.Request, res: Express.Response) => {
req.logout(function (err) {
req?.logout(function (err) {
if (err) {
return res.status(500).json();
}