Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. var app = require('express')();
  2. var http = require('http').Server(app);
  3. var httpuse = require('http');
  4. var io = require('socket.io')(http);
  5. var MongoClient = require('mongodb').MongoClient;
  6. var users = require(__dirname + '/local_js/users.js');
  7. var public = __dirname + "/www/";
  8. var bodyParser = require('body-parser')
  9. var url = "mongodb://localhost:27017/";
  10. const bcrypt = require('bcrypt');
  11. var needle = require('needle');
  12. const saltRounds = 10;
  13.  
  14. app.use(bodyParser.urlencoded({ extended: false }));
  15.  
  16. function rand(n) {
  17. Math.floor(Math.random() * (n+1));
  18. }
  19.  
  20. function getToken(hashedpass, user) {
  21. return hashedpass+"_._"+user;
  22. }
  23.  
  24. app.get('/', function(req, res){
  25. res.sendFile(public + 'index.html');
  26. });
  27.  
  28. app.get('/membership/create/form', function(req, res){
  29. res.sendFile(public + 'user/create.html');
  30. });
  31.  
  32. app.post('/membership/create/submit', function(req, res){
  33. MongoClient.connect(url, function(errdd, db) {
  34. if (errdd) throw errdd;
  35. var dbo = db.db("boaichat");
  36.  
  37. bcrypt.hash(req.body.password, saltRounds, function(err, hash) {
  38. if (err) {throw err;}
  39. var newUser = { nickname: req.body.nickname, password: hash };
  40.  
  41. dbo.collection("users").insertOne(newUser, function(errd, ress) {
  42. if (errd) throw errd;
  43. console.log("1 user document inserted");
  44. db.close();
  45. res.send("200 OK");
  46. });
  47. });
  48. });
  49. });
  50.  
  51. app.get('/membership/login/form', function(req, res) {
  52. res.sendFile(public + 'user/login.html');
  53. });
  54.  
  55. app.post('membership/login/submit', function(req, res) {
  56. MongoClient.connect(url, function(errdd, db) {
  57. if (errdd) throw errdd;
  58. var dbo = db.db("boaichat");
  59. dbo.collection("users").findOne({nickname: req.body.nickname}, function(err, result) {
  60. if (err) throw err;
  61. if (result) {
  62. bcrypt.compare(req.body.password, result.password, function(err, ress) {
  63. console.log(ress);
  64. res.send(ress);
  65. });
  66. }
  67. });
  68. db.close();
  69. });
  70. });
  71.  
  72. // IGNORE THIS
  73.  
  74. app.post('api/v1/getSessionValid', function(req, res) {
  75. let token = req.body.token;
  76. let userInfo = token.split('_._');
  77. if (userInfo[0] && userInfo[1]) {
  78.  
  79. }
  80. });
  81.  
  82. io.on('connection', function(socket){
  83. console.log('connection');
  84. socket.on('disconnect', function(){
  85. console.log("disconnection");
  86. });
  87. });
  88.  
  89. http.listen(3000, function(){
  90. console.log('listening on *:3000');
  91. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement