본문 바로가기
728x90

node11

#15. Redux 기초 What is Redux ? Redux is a predictable state container for JavaScript apps. 리덕스랑 상태관리 라이브러리입니다. 그렇다면 state 는 무엇일까요 ? Props VS State Props 1. shorthand for properties 2. Props are how components talk to each other. 컴포넌트 간 무언가를 주고 받을 때 Props를 사용해야 합니다. 3. props flow downwards from the parent component 4. Props are immutable from the child perspective if you want to change that value ? the parent s.. 2021. 2. 13.
#9. 로그아웃 기능 로그아웃 기능 만들기 🔐 1. 로그아웃 Route 만든다. 2. 로그아웃 하려는 유저를 데이터베이스에서 찾는다 3. 유저의 토큰을 지워준다. Auth에서 인증을 할 때 Client 에 있는 Cookie Token을 가져와서 DB Token과 맞는지 비교하여 인증을 한다. 로그아웃 시 Token을 지우게 되면, 로그아웃이 바로 진행 된다. // index.js ... app.get('/api/users/logout', auth, (req, res ) => { User.findOneAndUpdate({_id: req.user._id}, {token:""}, (err, user) => { if(err) return res.json({ success: false, err}); return res.status(2.. 2021. 1. 11.
#8. Auth 기능 만들기 Auth 를 왜 만들어야 하나 😉 ? 1. 페이지 이동 시 로그인되어있는지 안되어있는지, 관리자 유저인지 등을 체크 2. 글을 작성하거나 지워야 할 때, 권한이 있는지 체크 How !! 1. Cookie 에서 저장되어있는 Token을 Server에 가져와서 복호화를 한다. 2. 복호화를 하면 User ID가 나오게 된다. 그러한 User ID 를 이용하여 데이터베이스 User Collection에서 유저를 찾은 후, 쿠키에서 받아 온 token이 유저도 갖고있는지를 확인한다. User.js // user.js ... userSchema.statics.findByToken = function ( token , cb ) { var user = this; user._id + '' = token; // 토큰을 .. 2020. 12. 26.
#7. Bcrypt 로 비밀번호 암호화 하기 Bcrypt (비크립트) ? 회원가입 시 비밀번호 문자열을 그대로 DB에 저장하는 것은 굉장히 위험하고 안전하지 않다. 그렇기떄문에 Bcrypt ( 비크립트 ) 를 이용하여 password를 암호화 하여 데이터 베이스에 저장해줘야 한다. * bcrypt는 단방향 암호화이기 때문에 복호화가 불가능하다. ( 복호화란? 암호화된 문자열을 다시 원래 문자열로 해독하는 것을 의미 ) 설치 ⚙️ > npm install bcrypt --save Bcrypt 로 비밀번호 암호화하는 순서 🧏🏻‍♀️ 1. Register Route로 가기 2. 유저 정보들 ( Account, Password 등등 ) 을 데이터 베이스에 저장하기 전에가 암호화 할 타이밍이다. www.npmjs.com/package/bcrypt bcryp.. 2020. 12. 12.
반응형