Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict'
- const Promise = require('bluebird')
- const restify = require('restify')
- const jwt = require('jsonwebtoken')
- const jwtVerifyAsync = Promise.promisify(jwt.verify, jwt)
- const jwtToken = 'baw=)Y418"oS'
- const server = restify.createServer({
- name: 'jwttoken',
- version: '0.1.0'
- })
- server.use(restify.acceptParser(server.acceptable))
- server.use(restify.queryParser())
- server.use(restify.bodyParser())
- server.post('/authenticate', function (req, res, next) {
- if (req.params && req.params.username && req.params.password) {
- if (isLoginValid(req.params.username, req.params.password)) {
- let userObj = {
- username: req.params.username,
- role: 'Admin'
- }
- return jwt.sign(userObj, jwtToken, {
- algorithm: 'HS256',
- expiresIn: 60 * 60 * 5,
- audience: 'client',
- subject: 'subject',
- issuer: 'localhost',
- jwtid: '000000',
- header: {
- 'typ': 'JWT',
- 'alg': 'HS256'
- }
- }, function(err, token) {
- res.send('{status: \'Success!\', token: \'' + token + '\'}')
- return next()
- })
- }
- res.send(405, '{status: \'Fail!\', messsage: \'Invalid username and/or password!\'}')
- return next()
- }
- res.send(400, 'Bad request!')
- return next()
- })
- server.listen(8080, function () {
- console.log('%s listening at %s', server.name, server.url)
- })
- function isLoginValid(userId, password) {
- if (userId === 'admin' && password === 'password') {
- return true
- }
- return false
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement