mirror of
https://github.com/hpware/news-analyze.git
synced 2025-06-24 13:26:13 +00:00
Remove legacy component & Update validating system using localstorage.
This commit is contained in:
parent
b716a0ed5c
commit
c5c614c75d
7 changed files with 141 additions and 86 deletions
48
server/api/user/validateUserToken.post.ts
Normal file
48
server/api/user/validateUserToken.post.ts
Normal file
|
@ -0,0 +1,48 @@
|
|||
import sql from "~/server/components/postgres";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody(event);
|
||||
const token = body.token;
|
||||
if (!token) {
|
||||
return {
|
||||
error: "NO_TOKEN_GIVEN",
|
||||
requested_action: "SHOW_WARNING",
|
||||
};
|
||||
}
|
||||
const checkIsUUIDRegex =
|
||||
/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/;
|
||||
if (!checkIsUUIDRegex.test(token)) {
|
||||
return {
|
||||
error: "NOT_A_UUID",
|
||||
requested_action: "LOGOUT_USER",
|
||||
};
|
||||
}
|
||||
const fetchViaSQL = await sql`
|
||||
SELECT * FROM usertokens
|
||||
where token=${token}
|
||||
`;
|
||||
if (!fetchViaSQL[0]) {
|
||||
return {
|
||||
error: "INVALID_TOKEN",
|
||||
requested_action: "LOGOUT_USER",
|
||||
};
|
||||
}
|
||||
|
||||
const tokenDate = new Date(fetchViaSQL[0].created_at);
|
||||
const now = new Date();
|
||||
const dayInMilliseconds = 24 * 60 * 60 * 1000;
|
||||
|
||||
if (now.getTime() - tokenDate.getTime() > dayInMilliseconds) {
|
||||
return {
|
||||
error: "TOKEN_EXPIRED",
|
||||
requested_action: "LOGOUT_USER",
|
||||
};
|
||||
}
|
||||
return {
|
||||
userAccount: fetchViaSQL[0].username,
|
||||
requested_action: "CONTINUE",
|
||||
email: fetchViaSQL[0].email,
|
||||
avatarURL: fetchViaSQL[0].avatarurl,
|
||||
firstName: fetchViaSQL[0].firstName,
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue