본문 바로가기

Student/모여서 각자 코딩

[모각코 4일차] authorization 구체화 하기 회고


최종목표 : Node.js로 충남대 커뮤니티 만들기


목표

  • db와 authorization 연결 후 html 데이터 처리


진행사항

  • db와 authorization 연결 후 html 데이터 처리

node.js and html

router.post('/signin', isNotLoggedIn, (req, res, next)=>{
passport.authenticate('local', (authError, user ,info)=>{
if(authError){
console.error(authError);
return next(authError);
}
if(!user){
req.flash('loginError',info.message);
return res.redirect('/auth/signin');
}
return req.login(user, (loginError)=>{

if(loginError){
console.error(loginError);
return next(loginError);
}
return res.redirect('/');
});
})(req, res, next);
//res.redirect('/');
});
if loginError
.error-message= loginError

 

 

node.js

router.get('/', function(req, res, next) {
if(req.isAuthenticated()) {
User = req.user;
console.log(User);
}
res.render('index', {
title: 'Steam' ,
isSignedIn: req.isAuthenticated(),
isNotSignedIn: !req.isAuthenticated(),
username : User.name,
});
});

html

if isNotSignedIn
.auth#isNotloggedin
a(href="/auth/signin") Sign-In
a(href="/auth/signup") Sign-Up
if isSignedIn
.auth#loggedin
label #{username}님 환영합니다.
a(href="/mypage") My Page
a(href="/auth/signout") signout

 

 

 

 

 

node.js

router.get('/signup', function (req, res, next) {
res.render('signup',{
signError:req.flash('signError'),
});
});
html
if signError
.error-message= signError

 



회고

로그인 기능을 구현했다.

  

signin시 회원가입이 안된경우와 비밀경우가 안되는 경우 메세지를 띄우고

signup시 이미 존재하는 아이디가 있을시 경고 메세지를 띄웠다.

 

main 페이지에서는 로그인시 user의 name을 받아서 띄어주도록 구현했다.