Advertisement
Guest User

Untitled

a guest
Jul 20th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. 'use strict'
  2.  
  3. const Promise = require('bluebird')
  4. const restify = require('restify')
  5. const jwt = require('jsonwebtoken')
  6. const jwtVerifyAsync = Promise.promisify(jwt.verify, jwt)
  7.  
  8. const jwtToken = 'baw=)Y418"oS'
  9.  
  10. const server = restify.createServer({
  11. name: 'jwttoken',
  12. version: '0.1.0'
  13. })
  14. server.use(restify.acceptParser(server.acceptable))
  15. server.use(restify.queryParser())
  16. server.use(restify.bodyParser())
  17.  
  18. server.post('/authenticate', function (req, res, next) {
  19. if (req.params && req.params.username && req.params.password) {
  20. if (isLoginValid(req.params.username, req.params.password)) {
  21. let userObj = {
  22. username: req.params.username,
  23. role: 'Admin'
  24. }
  25.  
  26. return jwt.sign(userObj, jwtToken, {
  27. algorithm: 'HS256',
  28. expiresIn: 60 * 60 * 5,
  29. audience: 'client',
  30. subject: 'subject',
  31. issuer: 'localhost',
  32. jwtid: '000000',
  33. header: {
  34. 'typ': 'JWT',
  35. 'alg': 'HS256'
  36. }
  37. }, function(err, token) {
  38. res.send('{status: \'Success!\', token: \'' + token + '\'}')
  39. return next()
  40. })
  41. }
  42.  
  43. res.send(405, '{status: \'Fail!\', messsage: \'Invalid username and/or password!\'}')
  44. return next()
  45. }
  46.  
  47. res.send(400, 'Bad request!')
  48. return next()
  49. })
  50.  
  51. server.listen(8080, function () {
  52. console.log('%s listening at %s', server.name, server.url)
  53. })
  54.  
  55. function isLoginValid(userId, password) {
  56. if (userId === 'admin' && password === 'password') {
  57. return true
  58. }
  59.  
  60. return false
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement