Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. var express = require('express');
  2. var app = express();
  3. var bodyParser = require('body-parser');
  4. var cookieParser = require('cookie-parser');
  5. var expressSession = require('express-session');
  6. var passport = require('passport');
  7. var passportLocal = require('passport-local');
  8. var User = require('server/db/db').User;
  9. var routes = require('server/routes');
  10.  
  11. var PORT = process.env.PORT || 3000;
  12.  
  13. app.use(bodyParser.json());
  14. app.use(cookieParser());
  15. app.use(expressSession({
  16. secret: process.env.SESSION_SECRET || 'mySecret',
  17. resave: true,
  18. saveUninitialized: false
  19. }));
  20.  
  21. app.use(passport.initialize());
  22. app.use(passport.session());
  23.  
  24. passport.use(new passportLocal.Strategy(function(username, password, done) {
  25. //real db later
  26. console.log('localStrat Username: ' + username + ' Password: ' + password);
  27. User.findOne({username: username, password: password}, function(err, user) {
  28. console.log('searched for user');
  29. if(user) {
  30. console.log('found');
  31. console.log(user);
  32. done(null, user);
  33. } else {
  34. console.log('none');
  35. done(null, false, {message: 'Unable to login'});
  36. }
  37. });
  38. // if(username === password) {
  39. // done(null, {id: username, name: username});
  40. // } else {
  41. // done(null, false, {message: 'Unable to login'});
  42. // }
  43. }));
  44.  
  45. passport.serializeUser(function(user, done){
  46. done(null, user.id);
  47. });
  48.  
  49. passport.deserializeUser(function(id, done) {
  50. done(null, {id: id, name: id});
  51. });
  52.  
  53. routes(app);
  54.  
  55. app.get('/', function(req, res) {
  56. res.send('
  57. <!DOCTYPE html>
  58. <html>
  59. <head>
  60. <title>TCG Inventory Manager</title>
  61. <base href="/">
  62. </head>
  63. <body>
  64. <div ui-view></div>
  65. <script src="bundle.js"></script>
  66. </body>
  67. </htm>
  68. ');
  69. });
  70.  
  71. app.get('/login', passport.authenticate('local'), function(req, res) {
  72. console.log('/login');
  73. res.send(req.user);
  74. });
  75.  
  76. //Hotupdate via Remote
  77. if (module.hot) {
  78. module.hot.accept();
  79. }
  80.  
  81. import angular from 'angular';
  82. import appModule from 'config/config';
  83. import 'css/master.scss';
  84.  
  85. angular.bootstrap(document, [appModule.name]);
  86.  
  87. import angular from 'angular';
  88. import uiRouter from 'angular-ui-router';
  89. import uiBootstrap from 'angular-ui-bootstrap';
  90. import todoFactory from 'factories/todo-factory';
  91. import invManFactory from 'factories/invMan-factory';
  92. import loginFactory from 'factories/login-factory';
  93. import todosController from 'todos/todos';
  94. import invController from 'invMan/invMan';
  95. import loginController from 'login/login';
  96.  
  97. const app = angular.module('app', [uiRouter, todoFactory.name, invManFactory.name, loginFactory.name, uiBootstrap]);
  98.  
  99. app.config(($stateProvider, $urlRouterProvider, $locationProvider) => {
  100. $urlRouterProvider.otherwise('/');
  101.  
  102. $stateProvider
  103. .state('todos', {
  104. url: '/todo',
  105. template: require('todos/todos.html'),
  106. controller: todosController
  107. })
  108. .state('about', {
  109. url: '/about',
  110. template: require('about/about.html')
  111. })
  112. .state('invMan', {
  113. url: '/invMan',
  114. template: require('invMan/invMan.html'),
  115. controller: invController,
  116. resolve: { loginCheck: checkLogin }
  117. })
  118. .state('login', {
  119. url: '/',
  120. template: require('login/login.html'),
  121. controller: loginController
  122. })
  123.  
  124. $locationProvider.html5Mode(true);
  125. });
  126.  
  127. var checkLogin = function($q, $timeout, $http, $location, $rootScope) {
  128. console.log('checkLogin');
  129. var deffered = $q.defer();
  130.  
  131. $http.get('/login/stuff/loggedIn').success(function(user) {
  132. $rootScope.errorMessage = null;
  133. // User is Authenticated
  134. if(user !== '0') {
  135. console.log('is authed');
  136. $rootScope.currentUser = user;
  137. deffered.resolve();
  138. // User is not Authenticated
  139. } else {
  140. console.log('not authed');
  141. $rootScope.errorMessage = 'You need to be log in.';
  142. deffered.reject();
  143. $location.url('/');
  144. }
  145. });
  146. return deffered.promise;
  147. };
  148.  
  149. export default app;
  150.  
  151. var loginRoutes = require('server/login/routes');
  152. var todosRoutes = require('server/todos/routes');
  153. var invManRoutes = require('server/invMan/routes');
  154.  
  155. module.exports = function routes(app, passport) {
  156. app.use('/todos', todosRoutes);
  157. app.use('/invMan', invManRoutes);
  158. app.use('/login/stuff', loginRoutes);
  159. };
  160.  
  161. var express = require('express');
  162. var mongoose = require('mongoose');
  163. var User = require('server/db/db').User;
  164. var router = express.Router();
  165.  
  166. router.get('/', passport.authenticate('local'), function(req, res) {
  167. console.log('login');
  168. res.send(req.body);
  169. });
  170.  
  171. router.post('/', function(req, res) {
  172. res.send('Logged in');
  173. });
  174.  
  175. router.post('/register', function(req, res) {
  176. User.findOne({username: req.body.username}, function(err, user) {
  177. if(user) {
  178. var oldUser = req.body;
  179. console.log(req.body.username + ' already exists');
  180. res.send('registration failed');
  181. return;
  182. } else {
  183. var newUser = new User(req.body);
  184. newUser.save(function(err, user) {
  185. req.login(user, function(err) {
  186. if(err) {
  187. return next(err);
  188. }
  189. res.send(user);
  190. });
  191. });
  192. }
  193. });
  194. });
  195.  
  196. router.get('/loggedIn', function(req, res) {
  197. res.send(req.isAuthenticated() ? req.user : '0');
  198. });
  199.  
  200. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement