Skip to content

Commit

Permalink
10.리팩토링
Browse files Browse the repository at this point in the history
  • Loading branch information
egoing committed Jul 31, 2018
1 parent 0dd7f19 commit 4bb6b53
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 92 deletions.
3 changes: 0 additions & 3 deletions data/JavaScript

This file was deleted.

46 changes: 46 additions & 0 deletions lib/passport.js
@@ -0,0 +1,46 @@
module.exports = function (app) {

var authData = {
email: 'egoing777@gmail.com',
password: '111111',
nickname: 'egoing'
};

var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy;

app.use(passport.initialize());
app.use(passport.session());

passport.serializeUser(function (user, done) {
done(null, user.email);
});

passport.deserializeUser(function (id, done) {
done(null, authData);
});

passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'pwd'
},
function (username, password, done) {
if (username === authData.email) {
if (password === authData.password) {
return done(null, authData, {
message: 'Welcome.'
});
} else {
return done(null, false, {
message: 'Incorrect password.'
});
}
} else {
return done(null, false, {
message: 'Incorrect username.'
});
}
}
));
return passport;
}
64 changes: 2 additions & 62 deletions main.js
Expand Up @@ -9,7 +9,6 @@ var session = require('express-session')
var FileStore = require('session-file-store')(session)
var flash = require('connect-flash');


app.use(express.static('public'));
app.use(bodyParser.urlencoded({
extended: false
Expand All @@ -23,66 +22,7 @@ app.use(session({
}))
app.use(flash());

var authData = {
email: 'egoing777@gmail.com',
password: '111111',
nickname: 'egoing'
};

var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy;

app.use(passport.initialize());
app.use(passport.session());

passport.serializeUser(function(user, done) {
console.log('serializeUser', user);
done(null, user.email);
});

passport.deserializeUser(function(id, done) {
console.log('deserializeUser', id);
done(null, authData);
});

passport.use(new LocalStrategy(
{
usernameField: 'email',
passwordField: 'pwd'
},
function (username, password, done) {
console.log('LocalStrategy', username, password);
if(username === authData.email){
console.log(1);
if(password === authData.password){
console.log(2);
return done(null, authData, {
message: 'Welcome.'
});
} else {
console.log(3);
return done(null, false, {
message: 'Incorrect password.'
});
}
} else {
console.log(4);
return done(null, false, {
message: 'Incorrect username.'
});
}
}
));

app.post('/auth/login_process',
passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/auth/login',
failureFlash:true,
successFlash:true
}));


var passport = require('./lib/passport')(app);

app.get('*', function (request, response, next) {
fs.readdir('./data', function (error, filelist) {
Expand All @@ -93,7 +33,7 @@ app.get('*', function (request, response, next) {

var indexRouter = require('./routes/index');
var topicRouter = require('./routes/topic');
var authRouter = require('./routes/auth');
var authRouter = require('./routes/auth')(passport);

app.use('/', indexRouter);
app.use('/topic', topicRouter);
Expand Down
65 changes: 39 additions & 26 deletions routes/auth.js
Expand Up @@ -5,32 +5,45 @@ var fs = require('fs');
var sanitizeHtml = require('sanitize-html');
var template = require('../lib/template.js');

router.get('/login', function (request, response) {
var fmsg = request.flash();
var feedback = '';
if(fmsg.error){
feedback = fmsg.error[0];
}
var title = 'WEB - login';
var list = template.list(request.list);
var html = template.HTML(title, list, `
<div style="color:red;">${feedback}</div>
<form action="/auth/login_process" method="post">
<p><input type="text" name="email" placeholder="email"></p>
<p><input type="password" name="pwd" placeholder="password"></p>
<p>
<input type="submit" value="login">
</p>
</form>
`, '');
response.send(html);
});

router.get('/logout', function (request, response) {
request.logout();
request.session.save(function(){
response.redirect('/');


module.exports = function (passport) {
router.get('/login', function (request, response) {
var fmsg = request.flash();
var feedback = '';
if (fmsg.error) {
feedback = fmsg.error[0];
}
var title = 'WEB - login';
var list = template.list(request.list);
var html = template.HTML(title, list, `
<div style="color:red;">${feedback}</div>
<form action="/auth/login_process" method="post">
<p><input type="text" name="email" placeholder="email"></p>
<p><input type="password" name="pwd" placeholder="password"></p>
<p>
<input type="submit" value="login">
</p>
</form>
`, '');
response.send(html);
});

router.post('/login_process',
passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/auth/login',
failureFlash: true,
successFlash: true
}));

router.get('/logout', function (request, response) {
request.logout();
request.session.save(function () {
response.redirect('/');
});
});
});

module.exports = router;
return router;
}
1 change: 0 additions & 1 deletion routes/index.js
Expand Up @@ -4,7 +4,6 @@ var template = require('../lib/template.js');
var auth = require('../lib/auth');

router.get('/', function (request, response) {
console.log('/', request.user);
var fmsg = request.flash();
var feedback = '';
if(fmsg.success){
Expand Down

0 comments on commit 4bb6b53

Please sign in to comment.