목록Node/Node_tool 사용법 (7)
프론트엔드 정복하기
Auth 기능이란?) : 어떤 사이트에서 페이지별로 이용 가능한 권한자를 관리한다. 로그인된 user or guest or 관리자만
[ 회원가입 Router ] app.post('/api/users/register',(req, res) => { const user = new User(req.body) user.save((err,userInfo)=>{ if(err) return res.json({success:false, err}) return res.status(200).json({ success:true }) }) }) 1. '/api/users/register' 엔드포인트에서 2. mongoose로 연결한 mongoDB의 User req.body에 user 정보가 입력된다. (이는 body-parser가 있어 가능) 3. 위 mongoDB user는 저장한다. [err의 경우] or [userInfo를 인자로 가져옴] 4. err..
1. Schema setting 1. mongoose 불러오기 const mongoose = require ('mongoose'); 2. schema 설정하기 const userSchema = mongoose.Schema({ name:{ type:String, maxlength:50 }, email:{ type:String, trim:true, unique:1 } }) 3. model 설정하기 const User=mongoose.model('User',userSchema) model ( '모델 이름' , 스키마 상수 ) 4. 내보내기(export) module.exports = {User} 2. Mongoose Schema 속성 - type : String, Number, Boolean, Array, B..
[ 로그인 라우터 ] app.post('/api/users/login', (req, res) => { User.findOne({email:req.body.email},(err,user) => { if(!user){ return res.json({ loginSuccess:false, message:"제공된 이메일에 해당하는 유저가 없습니다." }) } user.comparePassword(req.body.password , (err,isMatch)=>{ if(!isMatch) return res.json({loginSuccess:false, message:"비밀번호가 틀렸습니다."}) user.generateToken((err,user) => { if(err) return res.status(400).se..
1. user.js(schema 저장한 곳)에 bcrypt를 불러온다. const bcrypt = require('bcrypt'); const saltRounds = 10; (10글자인 saltRounds 선언) 2. userSchema.pre('save',function( next ){ var user=this; //this란 userSchema를 말함. 위에 있는 묶음들. if (user.isModified('password')){ //email만 바꾸면 암호화되지 않고.. password를 바꿀때만! //비밀번호를 암호화 시킨다. bcrypt.genSalt(saltRounds, function(err, salt) { if(err) return next(err) //만약 에러가 발생 > next(sa..
* Git에 올릴 때 정보에 비밀 설정 하는 법 ex) mongo url에 아이디, 비밀번호를 가리고 싶을 때 1) key.js, dev.js, prod.js 파일을 생성한다. 2) dev.js >> module.exports={ mongoURI: 'url' } prod.js >> module.exports= { mongoURI: process.env.MONGO_URI } key.js >> if문 이용 > ( production ver일 때: prod.js 불러오기) or (dev ver일 때 : dev.js 불러오기) + ) .gitignore 파일에 dev.js 를 입력한다. ∴ dev.js는 gitignore되고, index.js에서 key.js를 require하여 [ dev.ver > url / ..