31 lines
817 B
TypeScript
31 lines
817 B
TypeScript
import { pbkdf2Sync } from "crypto";
|
|
|
|
import { IUser } from "shared/user";
|
|
|
|
export function isAuthenticated(token: string): Promise<boolean> {
|
|
return new Promise((res, rej) => {
|
|
// TODO
|
|
res(true);
|
|
});
|
|
}
|
|
|
|
export function performLogin(username: string, password: string): Promise<IUser | {}> {
|
|
return new Promise((res, rej) => {
|
|
// Hash the password
|
|
// TODO: Fetch the salt
|
|
const salt = "";
|
|
const hash = pbkdf2Sync(password, salt, 50000, 512, "sha512").toString("hex");
|
|
|
|
// TODO: Look up the user, compare hashes and send the returned user
|
|
res({
|
|
username: "Polynom",
|
|
uid: "1",
|
|
showWelcome: true,
|
|
classId: "test",
|
|
score: 4,
|
|
|
|
sessionToken: "abc123",
|
|
});
|
|
});
|
|
};
|