Last active
March 24, 2018 00:10
-
-
Save dapperAuteur/1830994cefe09af6fcc291c99c6d3b5f to your computer and use it in GitHub Desktop.
below is the index.js file for my app error message I get on public routes of my api when attempting to add auth0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"error": { | |
"message": "No authorization token was found" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require('dotenv').config() | |
var express = require('express'), | |
app = express(); | |
cors = require('cors'), | |
bodyParser = require('body-parser'); | |
var jwt = require('express-jwt'); | |
var jwtAuthz = require('express-jwt-authz'); | |
var jwks = require('jwks-rsa'); | |
var db = require('./models'); | |
var classroomRoutes = require('./routes/classrooms'); | |
var mealRoutes = require('./routes/meals'); | |
var studentRoutes = require('./routes/students'); | |
var teacherRoutes = require('./routes/teachers'); | |
var userRoutes = require('./routes/users'); | |
if (!process.env.AUTH0_DOMAIN) { | |
throw 'Make sure you have AUTH0_DOMAIN, in your .env file.'; | |
} | |
var jwtCheck = jwt({ | |
// Dynamically provide a signing key based on the kid in the header and the singing keys provided by the JWKS endpoint. | |
secret: jwks.expressJwtSecret({ | |
cache: true, | |
rateLimit: true, | |
jwksRequestsPerMinute: 5, | |
jwksUri: `https://${process.env.AUTH0_DOMAIN}/.well-known/jwks.json` | |
}), | |
// Validate the audience and the issuer. | |
audience: process.env.AUTH0_AUDIENCE, | |
issuer: `https://${process.env.AUTH0_DOMAIN}/`, | |
algorithms: ['RS256'] | |
}); | |
const errorHandler = require("./handlers/error"); | |
app.use(cors()); | |
app.use(bodyParser.json()); | |
app.use(bodyParser.urlencoded({ extended: true })); | |
app.use(jwtCheck); | |
app.get('/', function (req, res) { | |
res.send("Buenas de el red"); | |
}); | |
app.get('/pickler', function (req, res) { | |
res.send({ message: "I'm A Pickler And You Know This." }); | |
}); | |
app.get('/api/public', function (req, res) { | |
res.json({ message: 'Hello from a public endpoint. You do not need to be authenticated to see this.'}); | |
}); | |
app.get('/api/private', jwtCheck, function (req, res) { | |
res.json({ message: 'This is a private endpoint.'}); | |
}); | |
app.get('/authorized', function (req, res) { | |
res.send('Secured Resource'); | |
}); | |
const PORT = process.env.PORT || 8085; | |
// app.use(function (req, res, next) { | |
// let err = new Error("Not Found"); | |
// err.status = 404; | |
// next(err); | |
// }); | |
app.use(errorHandler); | |
app.get('/api/ver0001/classrooms/', classroomRoutes); | |
app.get('/api/ver0001/classrooms/:id', classroomRoutes); | |
app.post('/api/ver0001/classrooms/', classroomRoutes); | |
app.put('/api/ver0001/classrooms/:id', classroomRoutes) | |
app.delete('/api/ver0001/classrooms/:id', classroomRoutes); | |
app.use('/api/ver0001/classrooms/', classroomRoutes); | |
app.get('/api/ver0001/meals/', mealRoutes); | |
app.get('/api/ver0001/meals/:id', mealRoutes); | |
app.post('/api/ver0001/meals/', mealRoutes); | |
app.put('/api/ver0001/meals/:id', mealRoutes) | |
app.delete('/api/ver0001/meals/:id', mealRoutes); | |
app.use('/api/ver0001/meals/', mealRoutes); | |
app.get('/api/ver0001/students/', studentRoutes); | |
app.get('/api/ver0001/students/:id', studentRoutes); | |
app.post('/api/ver0001/students/', studentRoutes); | |
app.put('/api/ver0001/students/:id', studentRoutes) | |
app.delete('/api/ver0001/students/:id', studentRoutes); | |
app.use('/api/ver0001/students/', studentRoutes); | |
app.get('/api/ver0001/teachers/', teacherRoutes); | |
app.get('/api/ver0001/teachers/:id', teacherRoutes); | |
app.post('/api/ver0001/teachers/', teacherRoutes); | |
app.put('/api/ver0001/teachers/:id', teacherRoutes) | |
app.delete('/api/ver0001/teachers/:id', teacherRoutes); | |
app.use('/api/ver0001/teachers/', teacherRoutes); | |
app.get('/api/ver0001/users/', userRoutes); | |
app.get('/api/ver0001/users/:id', userRoutes); | |
app.post('/api/ver0001/users', userRoutes); | |
app.delete('/api/ver0001/users/:id', userRoutes); | |
app.use('/api/ver0001/users', userRoutes); | |
app.listen(PORT, function () { | |
console.log(`My App is Running on port ${PORT}`); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment