refactor(user): simplify local middleware
This commit is contained in:
parent
4e5650b030
commit
fa7910c4d3
|
@ -7,47 +7,22 @@ import LocalStrategy from 'passport-local';
|
||||||
export default {
|
export default {
|
||||||
[Hooks]: {
|
[Hooks]: {
|
||||||
'@flecks/core/config': () => ({
|
'@flecks/core/config': () => ({
|
||||||
successRedirect: '/',
|
|
||||||
failureRedirect: '/',
|
failureRedirect: '/',
|
||||||
|
successRedirect: '/',
|
||||||
}),
|
}),
|
||||||
'@flecks/db/server/models.decorate': (
|
'@flecks/db/server/models.decorate': (
|
||||||
Flecks.decorate(require.context('./models/decorators', false, /\.js$/))
|
Flecks.decorate(require.context('./models/decorators', false, /\.js$/))
|
||||||
),
|
),
|
||||||
'@flecks/http/routes': ({
|
'@flecks/http/routes': (flecks) => {
|
||||||
config: {
|
const {failureRedirect, successRedirect} = flecks.get('@flecks/user/local/server');
|
||||||
'@flecks/user/local/server': {
|
return [
|
||||||
failureRedirect,
|
{
|
||||||
successRedirect,
|
method: 'post',
|
||||||
|
path: '/auth/local',
|
||||||
|
middleware: passport.authenticate('local', {failureRedirect, successRedirect}),
|
||||||
},
|
},
|
||||||
},
|
];
|
||||||
}) => [
|
},
|
||||||
{
|
|
||||||
method: 'post',
|
|
||||||
path: '/auth/local',
|
|
||||||
middleware: (req, res, next) => {
|
|
||||||
passport.authenticate(
|
|
||||||
'local',
|
|
||||||
(error, user) => {
|
|
||||||
if (error) {
|
|
||||||
next(error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!user) {
|
|
||||||
res.redirect(failureRedirect);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
req.logIn(user, (error) => {
|
|
||||||
if (error) {
|
|
||||||
next(error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
res.redirect(successRedirect);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
)(req, res, next);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
'@flecks/repl/commands': (flecks) => {
|
'@flecks/repl/commands': (flecks) => {
|
||||||
const {User} = flecks.get('$flecks/db.models');
|
const {User} = flecks.get('$flecks/db.models');
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user