Skip to content
This repository has been archived by the owner on May 28, 2018. It is now read-only.

Commit

Permalink
Split auth logic and routing
Browse files Browse the repository at this point in the history
  • Loading branch information
nbrohee committed Nov 8, 2016
1 parent f4233c4 commit dd895aa
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 18 deletions.
19 changes: 19 additions & 0 deletions server/api/auth/auth.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'use strict'

const passport = require('passport')
const auth = require('./auth.service')

class AuthController {
getToken(req, res, next) {
passport.authenticate('local', function (err, user, info) {
var error = err || info
if (error) return res.status(401).json(error)
if (!user) return res.status(404).json({ message: 'Something went wrong, please try again.' })

var token = auth.signToken(user._id, user.role)
res.json({ token: token })
})(req, res, next)
}
}

module.exports = AuthController
27 changes: 10 additions & 17 deletions server/api/auth/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
'use strict'

var express = require('express')
var passport = require('passport')
var auth = require('./auth.service')
var User = require('../user/user.model')
const express = require('express')
const passport = require('passport')
const router = express.Router()

var router = express.Router()
const User = require('../user/user.model')
const Controller = require('./auth.controller')

// Passport Configuration
passport.serializeUser(function(user, done) {
Expand All @@ -18,15 +18,8 @@ passport.deserializeUser(function(user, done) {

require('./passport-strategy').setup(User)

router.post('/', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
var error = err || info
if (error) return res.status(401).json(error)
if (!user) return res.status(404).json({message: 'Something went wrong, please try again.'})

var token = auth.signToken(user._id, user.role)
res.json({token: token})
})(req, res, next)
})

module.exports = router
module.exports = (options) => {
const authController = new Controller(options)
router.post('/', authController.getToken)
return router
}
2 changes: 1 addition & 1 deletion server/api/routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ exports.configure = (app, options) => {
app.use('/api/application', application(options))
app.use('/api/pepite', pepite(options))
app.use('/api/user', user(options))
app.use('/api/auth', auth)
app.use('/api/auth', auth(options))
}

0 comments on commit dd895aa

Please sign in to comment.