OpenAuth_server/src/api/internal/password.ts

36 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-11-06 19:48:50 +00:00
import { Request, Response, NextFunction } from "express";
import { GetClientAuthMiddleware } from "../middlewares/client";
import Stacker from "../middlewares/stacker";
import RequestError, { HttpStatusCode } from "../../helper/request_error";
import User from "../../models/user";
2020-08-07 14:16:39 +00:00
const PasswordAuth = Stacker(
GetClientAuthMiddleware(true, true),
async (req: Request, res: Response) => {
let {
username,
password,
uid,
}: { username: string; password: string; uid: string } = req.body;
let query: any = { password: password };
if (username) {
query.username = username.toLowerCase();
} else if (uid) {
query.uid = uid;
} else {
throw new RequestError(
req.__("No username or uid set"),
HttpStatusCode.BAD_REQUEST
);
}
2018-11-06 19:48:50 +00:00
2020-08-07 14:16:39 +00:00
let user = await User.findOne(query);
if (!user) {
res.json({ error: req.__("Password or username wrong") });
} else {
res.json({ success: true, uid: user.uid });
}
2018-11-06 19:48:50 +00:00
}
2020-08-07 14:16:39 +00:00
);
export default PasswordAuth;