PostAuthorize.ts 833 B

1234567891011121314151617181920212223242526272829
  1. import { HttpMethod, Route, StatusCodes } from 'org.crazydoctor.expressts';
  2. import { Request, Response } from 'express';
  3. import { ISession } from '../session/ISession';
  4. class PostAuthorize extends Route {
  5. private AdminLogin = 'Admin';
  6. protected action = (req: Request, res: Response): any => {
  7. const session = req.session as ISession;
  8. const params = req.body;
  9. const login = params.login.trim();
  10. const password = params.password.trim(); // SHA256 hashed
  11. if(login === this.AdminLogin && this.context.options.adminPassword === password) {
  12. session.isAdmin = true;
  13. res.status(StatusCodes.OK).send('OK');
  14. return;
  15. }
  16. res.status(StatusCodes.FORBIDDEN).send('Authentication failed');
  17. };
  18. protected method = HttpMethod.POST;
  19. protected order = 2;
  20. protected route = '/authorize';
  21. }
  22. export default PostAuthorize;