Explorar o código

New token shananigans

Pitu %!s(int64=8) %!d(string=hai) anos
pai
achega
16164115aa
Modificáronse 1 ficheiros con 13 adicións e 19 borrados
  1. 13 19
      controllers/tokenController.js

+ 13 - 19
controllers/tokenController.js

@@ -12,12 +12,13 @@ tokenController.verify = function(req, res, next){
 		if(user.length === 0) return res.json({ success: false, description: 'Token mismatch' })
 		return res.json({ success: true })
 	}).catch(function(error) { console.log(error); res.json({success: false, description: 'error'}) })
+	
 }
 
 tokenController.list = function(req, res, next){
 
-	if(req.headers.auth === undefined) return res.json({ success: false, description: 'No token provided' })
-	let token = req.headers.auth
+	let token = req.headers.token
+	if(token === undefined) return res.status(401).json({ success: false, description: 'No token provided' })
 
 	db.table('users').where('token', token).then((user) => {
 		if(user.length === 0) return res.json({ success: false, description: 'Token mismatch' })
@@ -27,26 +28,19 @@ tokenController.list = function(req, res, next){
 }
 
 tokenController.change = function(req, res, next){
-	if(req.headers.auth !== config.adminToken)
-		return res.status(401).json({ success: false, description: 'not-authorized'})
 
-	let type = req.body.type
-	let token = req.body.token
-
-	if(type === undefined) return res.json({ success: false, description: 'No type provided.' })
-	if(token === undefined) return res.json({ success: false, description: 'No token provided.' })
-	if(type !== 'client' && type !== 'admin') return res.json({ success: false, description: 'Wrong type provided.' })
-
-	db.table('tokens').where('name', type).update({ value: token, timestamp: Math.floor(Date.now() / 1000) })
-	.then(() => {
+	let token = req.headers.token
+	if(token === undefined) return res.status(401).json({ success: false, description: 'No token provided' })
 
-		if(type === 'client')
-			config.clientToken = token
-		else if(type === 'admin')
-			config.adminToken = token
-		
-		res.json({ success: true }) 
+	let newtoken = randomstring.generate(64)
+	
+	db.table('users').where('token', token).update({
+		token: newtoken,
+		timestamp:  Math.floor(Date.now() / 1000)
+	}).then((user) => {
+		res.json({ success: true, token: newtoken })
 	}).catch(function(error) { console.log(error); res.json({success: false, description: 'error'}) })
+	
 }
 
 module.exports = tokenController