49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import Env from "@ioc:Adonis/Core/Env";
|
|
import jwt from "jsonwebtoken";
|
|
import type { HttpContextContract } from "@ioc:Adonis/Core/HttpContext";
|
|
// import { loggerAPI } from "App/utils/logger";
|
|
// import jwtDecode from "jwt-decode";
|
|
|
|
export default class CheckToken {
|
|
public async handle(
|
|
{ request, response }: HttpContextContract,
|
|
next: () => Promise<void>
|
|
) {
|
|
// code for middleware goes here. ABOVE THE NEXT CALL
|
|
try {
|
|
// const user = jwtDecode(request.headers().authorization);
|
|
console.log("first", await jwt.verify(
|
|
request.headers().authorization?.replace(/"/g, ""),
|
|
Env.get("JWT_KEY")))
|
|
let abc = await jwt.verify(
|
|
request.headers().authorization?.replace(/"/g, ""),
|
|
Env.get("JWT_KEY"),
|
|
async function (err, decoded) {
|
|
if (err) {
|
|
console.log(err)
|
|
response.status(203).send("Token invalid");
|
|
// loggerAPI(
|
|
// request,
|
|
// response,
|
|
// user,
|
|
// "Middleware CheckToken - " + request.url()
|
|
// );
|
|
} else {
|
|
await next();
|
|
}
|
|
}
|
|
);
|
|
console.log(abc)
|
|
} catch (error) {
|
|
console.log("sdfs", error)
|
|
response.status(203).send("Token invalid");
|
|
// loggerAPI(
|
|
// request,
|
|
// response,
|
|
// request.headers().email,
|
|
// "Middleware CheckToken - " + request.url()
|
|
// );
|
|
}
|
|
}
|
|
}
|