Add authentication and authorization

This commit is contained in:
2020-10-02 17:47:13 +02:00
parent 60dfea50c4
commit b28dbba746
9 changed files with 92 additions and 13 deletions

View File

@ -1,11 +1,29 @@
import { Request, Response } from "express";
import { Post, BodyParam, Body, Res, Req, JsonController, UseBefore, Get, CookieParam } from "routing-controllers";
import { UserCredential } from "../models/usercredential.model";
import User from "../interfaces/user.interface";
import { JwtMiddleware } from "../middleware/jwt.middleware";
@JsonController("/auth")
export class AuthenticationController {
@Post("/login")
doLogin(@Body() usercredential: UserCredential, @Res() res: any) {
return "//TODO login";
doLogin(@Body() user: User, @Res() res: Response) {
if (user.username === process.env.KQUEUE_USERNAME) {
if (user.password === process.env.KQUEUE_PASSWORD) {
const jwtMiddleware = new JwtMiddleware();
const tokenData = jwtMiddleware.createToken(user);
res.cookie("jwt",tokenData,);
res.status(200);
res.send("Welcome.")
return res;
} else {
// TODO wrong password.
return "Wrong password."
}
} else {
// TODO wrong user.
return "Wrong user."
}
}
@Get("/logout")