.
This commit is contained in:
parent
a76e8ab0d4
commit
e41dde5c07
@ -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
|
// 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();
|
return this.next();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@ -25,7 +25,7 @@ export class IdentityController extends ExpressController {
|
|||||||
|
|
||||||
async executeImpl() {
|
async executeImpl() {
|
||||||
try {
|
try {
|
||||||
const user = <AuthUser>this.req.user;
|
const user = <AuthUser>this.req?.user;
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const errorMessage = "Unexpected missing user data";
|
const errorMessage = "Unexpected missing user data";
|
||||||
|
|||||||
@ -16,7 +16,7 @@ export class LoginController extends ExpressController {
|
|||||||
props: {
|
props: {
|
||||||
presenter: ILoginPresenter;
|
presenter: ILoginPresenter;
|
||||||
},
|
},
|
||||||
context: IAuthContext,
|
context: IAuthContext
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
@ -27,13 +27,13 @@ export class LoginController extends ExpressController {
|
|||||||
|
|
||||||
async executeImpl() {
|
async executeImpl() {
|
||||||
try {
|
try {
|
||||||
const user = <AuthUser>this.req.user;
|
const user = <AuthUser>this.req?.user;
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const errorMessage = "Unexpected missing user data";
|
const errorMessage = "Unexpected missing user data";
|
||||||
const infraError = InfrastructureError.create(
|
const infraError = InfrastructureError.create(
|
||||||
InfrastructureError.UNEXCEPTED_ERROR,
|
InfrastructureError.UNEXCEPTED_ERROR,
|
||||||
errorMessage,
|
errorMessage
|
||||||
);
|
);
|
||||||
return this.internalServerError(errorMessage, infraError);
|
return this.internalServerError(errorMessage, infraError);
|
||||||
}
|
}
|
||||||
@ -44,9 +44,7 @@ export class LoginController extends ExpressController {
|
|||||||
refreshToken: this._generateUserRefreshToken(user),
|
refreshToken: this._generateUserRefreshToken(user),
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.ok<ILogin_Response_DTO>(
|
return this.ok<ILogin_Response_DTO>(this.presenter.map(loginUser, this.context));
|
||||||
this.presenter.map(loginUser, this.context),
|
|
||||||
);
|
|
||||||
} catch (e: unknown) {
|
} catch (e: unknown) {
|
||||||
return this.fail(e as IServerError);
|
return this.fail(e as IServerError);
|
||||||
}
|
}
|
||||||
@ -59,10 +57,8 @@ export class LoginController extends ExpressController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _generateUserRefreshToken(user: AuthUser) {
|
private _generateUserRefreshToken(user: AuthUser) {
|
||||||
return JWT.sign(
|
return JWT.sign({ email: user.email.toString() }, config.jwt.refresh_secret_key, {
|
||||||
{ email: user.email.toString() },
|
expiresIn: config.jwt.refresh_token_expiration,
|
||||||
config.jwt.refresh_secret_key,
|
});
|
||||||
{ expiresIn: config.jwt.refresh_token_expiration },
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,9 +8,9 @@ const profileMiddleware = (
|
|||||||
res: Express.Response,
|
res: Express.Response,
|
||||||
next: Express.NextFunction
|
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);
|
generateExpressError(req, res, httpStatus.UNAUTHORIZED);
|
||||||
}
|
}
|
||||||
next();
|
next();
|
||||||
|
|||||||
@ -10,7 +10,7 @@ export const checkUser = composeMiddleware([
|
|||||||
session: false,
|
session: false,
|
||||||
}),
|
}),
|
||||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||||
const user = <AuthUser>req.user;
|
//const user = <AuthUser>req?.user;
|
||||||
if (req.isAuthenticated()) {
|
if (req.isAuthenticated()) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
@ -22,8 +22,8 @@ export const checkUser = composeMiddleware([
|
|||||||
export const checkisAdmin = composeMiddleware([
|
export const checkisAdmin = composeMiddleware([
|
||||||
checkUser,
|
checkUser,
|
||||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
(req: Express.Request, 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);
|
generateExpressError(req, res, httpStatus.UNAUTHORIZED);
|
||||||
}
|
}
|
||||||
return next();
|
return next();
|
||||||
@ -33,11 +33,11 @@ export const checkisAdmin = composeMiddleware([
|
|||||||
export const checkAdminOrSelf = composeMiddleware([
|
export const checkAdminOrSelf = composeMiddleware([
|
||||||
checkUser,
|
checkUser,
|
||||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||||
const user = <AuthUser>req.user;
|
const user = <AuthUser>req?.user;
|
||||||
|
|
||||||
const { userId } = req.params;
|
const { userId } = req.params;
|
||||||
|
|
||||||
if (user.isAdmin) {
|
if (user && user.isAdmin) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ export const getDealerMiddleware = async (
|
|||||||
res: Express.Response,
|
res: Express.Response,
|
||||||
next: Express.NextFunction
|
next: Express.NextFunction
|
||||||
) => {
|
) => {
|
||||||
const user = <AuthUser>req.user;
|
const user = <AuthUser>req?.user;
|
||||||
const context: ISalesContext = res.locals.context;
|
const context: ISalesContext = res.locals.context;
|
||||||
|
|
||||||
registerDealerRepository(context);
|
registerDealerRepository(context);
|
||||||
|
|||||||
@ -16,7 +16,7 @@ export const authRouter = (appRouter: Express.Router) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
authRoutes.post("/logout", checkUser, (req: Express.Request, res: Express.Response) => {
|
authRoutes.post("/logout", checkUser, (req: Express.Request, res: Express.Response) => {
|
||||||
req.logout(function (err) {
|
req?.logout(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return res.status(500).json();
|
return res.status(500).json();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user