mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	feat: add write API route for checking login credentials
This commit is contained in:
		
							
								
								
									
										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