Guest User

Untitled

a guest
Oct 27th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. var express = require('express');
  2. var faker = require('faker');
  3. var cors = require('cors');
  4. var bodyParser = require('body-parser');
  5. var jwt = require('jsonwebtoken');
  6. var expressJwt = require('express-jwt');
  7.  
  8. var jwtSecret = 'fjkdlsajfoew239053/3uk';
  9.  
  10. var user = {
  11. username: 'kentcdodds',
  12. password: 'p'
  13. };
  14.  
  15. var app = express();
  16.  
  17. app.use(cors());
  18. app.use(express.static(__dirname + '/public'));
  19. app.use(bodyParser.json());
  20. app.use(expressJwt({ secret: jwtSecret }).unless({ path: [ '/login' ]}));
  21.  
  22. app.get('/random-user', function (req, res) {
  23. var user = faker.Helpers.userCard();
  24. user.avatar = faker.Image.avatar();
  25. res.json(user);
  26. });
  27.  
  28. app.post('/login', authenticate, function (req, res) {
  29. var token = jwt.sign({
  30. username: user.username
  31. }, jwtSecret);
  32. res.send({
  33. token: token,
  34. user: user
  35. });
  36. });
  37.  
  38. app.get('/me', function (req, res) {
  39. res.send(req.user);
  40. });
  41.  
  42. app.listen(3000, function () {
  43. console.log('App listening on localhost:3000');
  44. });
  45.  
  46. // UTIL FUNCTIONS
  47.  
  48. function authenticate(req, res, next) {
  49. var body = req.body;
  50. if (!body.username || !body.password) {
  51. res.status(400).end('Must provide username or password');
  52. } else if (body.username !== user.username || body.password !== user.password) {
  53. res.status(401).end('Username or password incorrect');
  54. } else {
  55. next();
  56. }
  57. }
Add Comment
Please, Sign In to add comment