Matt Coles лет назад: 9
Родитель
Сommit
bbf1e79460
2 измененных файлов с 78 добавлено и 77 удалено
  1. 1 0
      .gitignore
  2. 77 77
      index.js

+ 1 - 0
.gitignore

1
 node_modules/
1
 node_modules/
2
+tags
2
 redis/
3
 redis/
3
 server.*
4
 server.*

+ 77 - 77
index.js

6
 var redis = new Redis();
6
 var redis = new Redis();
7
 var bodyParser = require('body-parser');
7
 var bodyParser = require('body-parser');
8
 var fs = require('fs');
8
 var fs = require('fs');
9
-var p_key = fs.readFileSync( 'server.key' )
10
-var certi = fs.readFileSync( 'server.crt' );
9
+var prkey = fs.readFileSync('server.key');
10
+var certi = fs.readFileSync('server.crt');
11
 
11
 
12
 app.use(bodyParser.json()); // for parsing application/json
12
 app.use(bodyParser.json()); // for parsing application/json
13
 app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
13
 app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
14
 
14
 
15
 app.get('/hello/(:name)?', function (req, res) {
15
 app.get('/hello/(:name)?', function (req, res) {
16
-    var name = req.params.name || "World";
17
-    res.send('<title>Hello ' + name + '!</title>' + 'Hello ' + name + "!");
16
+  var name = req.params.name || "World";
17
+  res.send('<title>Hello ' + name + '!</title>' + 'Hello ' + name + "!");
18
 });
18
 });
19
 
19
 
20
-app.all('/register', function(req, res) {
21
-    var tmp_username = req.body.user || req.query.user;
22
-    var tmp_password = req.body.password || req.query.password;
23
-    tmp_username = tmp_username.toLowerCase();
24
-    var uquery       = 'user:' + tmp_username;
25
-    var user_object  = {};
20
+app.all('/register', function (req, res) {
21
+  var tmp_username = req.body.user || req.query.user;
22
+  var tmp_password = req.body.password || req.query.password;
23
+  tmp_username = tmp_username.toLowerCase();
24
+  var uquery       = 'user:' + tmp_username;
25
+  var user_object  = {};
26
 
26
 
27
-    redis.hgetall(uquery).then(function (result) {
28
-        if (result.password && result !== undefined && result !== null) {
29
-            res.send({"registered": 0,
30
-                     "error": 1});
31
-        } else {
32
-            bcrypt.hash(tmp_password, null, null, function (err, hash) {
33
-                user_object["password"] = hash;
34
-                user_object["auth-key"] = bcrypt.hashSync(Date.now().toString() + tmp_username);
35
-                redis.hset(uquery, "password", user_object.password);
36
-                redis.hset(uquery, "auth-key", user_object["auth-key"]);
37
-                res.send({"registered": 1,
38
-                         "auth-key": user_object["auth-key"],
39
-                         "error": 0});
40
-            });
41
-        }
42
-    });
27
+  redis.hgetall(uquery).then(function (result) {
28
+    if (result.password && result !== undefined && result !== null) {
29
+      res.send({"registered": 0,
30
+               "error": 1});
31
+    } else {
32
+      bcrypt.hash(tmp_password, null, null, function (err, hash) {
33
+        user_object["password"] = hash;
34
+        user_object["auth-key"] = bcrypt.hashSync(Date.now().toString() + tmp_username);
35
+        redis.hset(uquery, "password", user_object.password);
36
+        redis.hset(uquery, "auth-key", user_object["auth-key"]);
37
+        res.send({"registered": 1,
38
+                 "auth-key": user_object["auth-key"],
39
+                 "error": 0});
40
+      });
41
+    }
42
+  });
43
 });
43
 });
44
 
44
 
45
 app.all('/login', function(req, res) {
45
 app.all('/login', function(req, res) {
46
-    var username = req.body.user || req.query.user;
47
-    username = username.toLowerCase();
48
-    var password = req.body.password || req.query.password;
49
-    var auth_key = req.body.auth_key || req.query.auth_key;
50
-    var uquery   = 'user:' + username;
46
+  var username = req.body.user || req.query.user;
47
+  username = username.toLowerCase();
48
+  var password = req.body.password || req.query.password;
49
+  var auth_key = req.body.auth_key || req.query.auth_key;
50
+  var uquery   = 'user:' + username;
51
 
51
 
52
-    redis.hgetall(uquery).then(function (result) {
53
-        if (result.password && result !== undefined && result !== null) {
54
-            var user_object = result;
55
-            if (auth_key !== "" && auth_key !== undefined && auth_key !== null) {
56
-                if (auth_key === user_object["auth-key"]) {
57
-                    var timestamp_user = Date.now().toString() + username;
58
-                    user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
59
-                    redis.set(uquery, "auth-key", user_object["auth-key"]);
60
-                    res.send({"logged_in": 1,
61
-                             "auth-key": user_object["auth-key"],
62
-                             "error": 0});
63
-                } else {
64
-                    res.send({"logged_in": 0,
65
-                             "error": 3});
66
-                }
52
+  redis.hgetall(uquery).then(function (result) {
53
+    if (result.password && result !== undefined && result !== null) {
54
+      var user_object = result;
55
+      if (auth_key !== "" && auth_key !== undefined && auth_key !== null) {
56
+        if (auth_key === user_object["auth-key"]) {
57
+          var timestamp_user = Date.now().toString() + username;
58
+          user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
59
+          redis.set(uquery, "auth-key", user_object["auth-key"]);
60
+          res.send({"logged_in": 1,
61
+                   "auth-key": user_object["auth-key"],
62
+                   "error": 0});
63
+        } else {
64
+          res.send({"logged_in": 0,
65
+                   "error": 3});
66
+        }
67
+      } else {
68
+        bcrypt.compare(password, user_object["password"], function (err, matched) {
69
+          if (matched === true) {
70
+            if (undefined === user_object["auth-key"]) {
71
+              var timestamp_user = Date.now().toString() + username;
72
+              user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
73
+              redis.set(uquery, JSON.stringify(user_object));
74
+              res.send({"logged_in": 1,
75
+                       "auth-key": user_object["auth-key"],
76
+                       "error": 0});
67
             } else {
77
             } else {
68
-                bcrypt.compare(password, user_object["password"], function (err, matched) {
69
-                    if (matched === true) {
70
-                        if (undefined === user_object["auth-key"]) {
71
-                            var timestamp_user = Date.now().toString() + username;
72
-                            user_object["auth-key"] = bcrypt.hashSync(timestamp_user);
73
-                            redis.set(uquery, JSON.stringify(user_object));
74
-                            res.send({"logged_in": 1,
75
-                                     "auth-key": user_object["auth-key"],
76
-                                     "error": 0});
77
-                        } else {
78
-                            res.send({"logged_in": 1,
79
-                                     "auth-key": user_object["auth-key"],
80
-                                     "error": 0});
81
-                        }
82
-                        return;
83
-                    } else {
84
-                        res.send({"logged_in": 0,
85
-                                 "error": 2});
86
-                                 return;
87
-                    }
88
-                });
89
-
78
+              res.send({"logged_in": 1,
79
+                       "auth-key": user_object["auth-key"],
80
+                       "error": 0});
90
             }
81
             }
91
-        } else {
82
+            return;
83
+          } else {
92
             res.send({"logged_in": 0,
84
             res.send({"logged_in": 0,
93
-                     "error": 1});
85
+                     "error": 2});
94
                      return;
86
                      return;
95
-        }
96
-    });
87
+          }
88
+        });
89
+
90
+      }
91
+    } else {
92
+      res.send({"logged_in": 0,
93
+               "error": 1});
94
+               return;
95
+    }
96
+  });
97
 });
97
 });
98
 
98
 
99
 // app.listen(3000, function () {
99
 // app.listen(3000, function () {
101
 // });
101
 // });
102
 
102
 
103
 https.createServer({
103
 https.createServer({
104
-    key: p_key,
105
-    cert: certi
104
+  key: prkey,
105
+  cert: certi
106
 }, app).listen(3000, function() {
106
 }, app).listen(3000, function() {
107
-    console.log("App listening for HTTPS connections on port 3000!");
107
+  console.log("App listening for HTTPS connections on port 3000!");
108
 });
108
 });
109
 
109
 
110
 process.on('SIGINT', function() {
110
 process.on('SIGINT', function() {
111
-    console.log( "\nRecieved Ctrl-C, shutting down." );
112
-    process.exit(0);
111
+  console.log( "\nRecieved Ctrl-C, shutting down." );
112
+  process.exit(0);
113
 })
113
 })