| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- var Redis = require("ioredis");
- var redis = new Redis();
- var bcrypt = require('bcrypt-nodejs');
- module.exports = {
- perform: function(a,b) {
- perform(a,b);
- }
- }
- var perform = function(req, res) {
- var username = req.body.user || req.query.user;
- username = username.toLowerCase();
- var password = req.body.password || req.query.password;
- var auth_key = req.body.auth_key || req.query.auth_key;
- var uquery = 'user:' + username;
- redis.hgetall(uquery).then(function (result) {
- if (result.password && result !== undefined && result !== null) {
- var user_object = result;
- if (auth_key !== "" && auth_key !== undefined && auth_key !== null) {
- if (auth_key === user_object["auth-key"]) {
- var timestamp_user = Date.now().toString() + username;
- user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
- redis.set(uquery, "auth-key", user_object["auth-key"]);
- res.send({"logged_in": 1,
- "auth-key": user_object["auth-key"],
- "error": 0});
- } else {
- res.send({"logged_in": 0,
- "error": 3});
- }
- } else {
- bcrypt.compare(password, user_object["password"], function (err, matched) {
- if (matched === true) {
- if (undefined === user_object["auth-key"]) {
- var timestamp_user = Date.now().toString() + username;
- user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
- redis.set(uquery, JSON.stringify(user_object));
- res.send({"logged_in": 1,
- "auth-key": user_object["auth-key"],
- "error": 0});
- } else {
- res.send({"logged_in": 1,
- "auth-key": user_object["auth-key"],
- "error": 0});
- }
- return;
- } else {
- res.send({"logged_in": 0,
- "error": 2});
- return;
- }
- });
- }
- } else {
- res.send({"logged_in": 0,
- "error": 1});
- return;
- }
- });
- };
|