| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- var Redis = require("ioredis");
- var redis = new Redis();
- var bcrypt = require('bcrypt-nodejs');
- var authgen = require("./../../utils/auth-keys.js");
- module.exports = {
- perform: function(a,b) {
- perform(a,b);
- }
- }
- var perform = function(req, res) {
- var username = req.body.user || req.query.user;
- var password = req.body.password || req.query.password;
- var uquery = 'user:' + username;
- redis.hgetall(uquery).then(function (result) {
- if (result.password && result !== undefined && result !== null) {
- var user_object = result;
- if (username && password) {
- username = username.toLowerCase();
- bcrypt.compare(password, user_object.password, function (err, matched) {
- if (matched) {
- var new_auth_key = authgen.generate(username);
- var aquery = "auth-key:" + new_auth_key;
- redis.set(aquery, username);
- redis.hset(uquery, "auth-key", new_auth_key);
- if (user_object["auth-key"]) {
- redis.del("auth-key:" + user_object["auth-key"]);
- }
- res.send({"logged_in": 1,
- "auth-key": new_auth_key,
- "error": 0})
- } else {
- res.send({"logged_in": 0,
- "error": 2});
- }
- });
- } else {
- res.send({"logged_in": 0,
- "error": 3});
- }
- } else {
- res.send({"logged_in": 0,
- "error": 1});
- return;
- }
- });
- };
|