mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-22 20:32:28 +01:00
feat: add write API route for checking login credentials
This commit is contained in:
@@ -9,3 +9,4 @@ Write.topics = require('./topics');
|
||||
Write.posts = require('./posts');
|
||||
Write.admin = require('./admin');
|
||||
Write.files = require('./files');
|
||||
Write.utilities = require('./utilities');
|
||||
|
||||
44
src/controllers/write/utilities.js
Normal file
44
src/controllers/write/utilities.js
Normal file
@@ -0,0 +1,44 @@
|
||||
'use strict';
|
||||
|
||||
const user = require('../../user');
|
||||
const authenticationController = require('../authentication');
|
||||
const slugify = require('../../slugify');
|
||||
const helpers = require('../helpers');
|
||||
|
||||
const Utilities = module.exports;
|
||||
|
||||
Utilities.ping = {};
|
||||
Utilities.ping.get = (req, res) => {
|
||||
helpers.formatApiResponse(200, res, {
|
||||
pong: true,
|
||||
});
|
||||
};
|
||||
|
||||
Utilities.ping.post = (req, res) => {
|
||||
helpers.formatApiResponse(200, res, {
|
||||
uid: req.user.uid,
|
||||
received: req.body,
|
||||
});
|
||||
};
|
||||
|
||||
Utilities.login = (req, res) => {
|
||||
res.locals.continueLogin = async (req, res) => {
|
||||
const { username, password } = req.body;
|
||||
|
||||
const userslug = slugify(username);
|
||||
const uid = await user.getUidByUserslug(userslug);
|
||||
const ok = await user.isPasswordCorrect(uid, password, req.ip);
|
||||
|
||||
if (ok) {
|
||||
const userData = await user.getUsers([uid], uid);
|
||||
helpers.formatApiResponse(200, res, userData);
|
||||
} else {
|
||||
helpers.formatApiResponse(403, res);
|
||||
}
|
||||
};
|
||||
res.locals.noScriptErrors = (req, res, err, statusCode) => {
|
||||
helpers.formatApiResponse(statusCode, res, new Error(err));
|
||||
};
|
||||
|
||||
authenticationController.login(req, res);
|
||||
};
|
||||
Reference in New Issue
Block a user