Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Node js libraries
- const express = require('express');
- const router = express.Router();
- const app = express();
- const jwt = require('jsonwebtoken');
- //Static files
- const Users = require('../models/users');
- app.set('superSecret', 'thisissecretkeyforapi');
- //Routes here
- router.post('/', function(req, res){
- if(req.body.username == '' || req.body.password == '') {
- res.send('Fields must be required');
- }
- else {
- Users
- .findOne({
- username: req.body.username
- },
- function(err, user){
- if(!user){
- res.send('No user found');
- }
- else {
- if(user.password != req.body.password) {
- res.send('Wrong password');
- }
- else {
- var token = jwt.sign(user, app.get('superSecret'), {
- expiresIn: 60*15
- });
- res.send({
- message: "Token here",
- token: token
- })
- }
- }
- });
- }
- })
- router.get('/profile', function(req, res){
- console.log(req.decoded);
- res.send('profile here');
- });
- module.exports = router;
- var express = require('express');
- var app = express();
- var bodyParser = require('body-parser');
- var morgan = require('morgan');
- var mongoose = require('mongoose');
- mongoose.Promise = global.Promise;
- mongoose.connect('mongodb://cordy:lolla123@ds042459.mlab.com:42459/musiclk', {
- useMongoClient: true
- });
- app.set("view engine", "ejs");
- app.set('superSecret', 'thisissecretkeyforapi');
- app.use(morgan('dev'));
- app.use(bodyParser.urlencoded({
- extended: true
- }));
- app.use(bodyParser.json());
- require('./controllers/index')(app);
- app.set('superSecret', 'thisissecretkeyforapi');
- admin_routes = require('./controllers/admin_routes');
- admin_routes.use(function(req, res, next) {
- // check header or url parameters or post parameters for token
- var token = req.body.token || req.query.token || req.headers['x-access-token'];
- // decode token
- if (token) {
- // verifies secret and checks exp
- jwt.verify(token, app.get('superSecret'), function(err, decoded) {
- if (err) {
- return res.json({
- success: false,
- message: 'Failed to authenticate token. The token is expired' });
- }
- else {
- // if everything is good, save to request for use in other routes
- req.decoded = decoded;
- next();
- }
- });
- } else {
- // if there is no to
- // return an error
- return res.status(403).send({
- success: false,
- message: 'No token provided.'
- });
- }
- });
- app.use('/admin', admin_routes);
- app.listen(process.env.PORT || 1337, function(){
- console.log("Now listening for the requests");
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement