Flare-k

[Add] passport and User model

......@@ -3,6 +3,7 @@ import app from "./app"; // app.js에서 export default app했기 때문에 불
import "./db";
import "./models/Video";
import "./models/Comment";
import "./models/User";
dotenv.config();
......
import mongoose from "mongoose";
import passportLocalMongoose from "passport-local-mongoose";
const UserSchema = new mongoose.Schema({
name: String,
email: String,
avatarUrl: String,
facebookId: Number,
githubId: Number,
});
// 이 상태에서 새로운 스키마를 추가한다.
// passportLocalMongoose는 configuration object가 필요하다.
// passportLocalMongoose의 옵션에 usernameField가 있다. 이는 username이 될 field를 명시해준다.
// passportLocalMongoose에게 어떤 Field를 username으로 사용할 것인지 알려줘야 한다.
// usernameField로 이메일을 사용하기로 하겠다.
UserSchema.plugin(passportLocalMongoose, { usernameField: "email" });
const model = mongoose.model("User", UserSchema);
export default model;
......@@ -32,6 +32,9 @@
"morgan": "^1.10.0",
"multer": "^1.4.2",
"node-sass": "^4.14.1",
"passport": "^0.4.1",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^6.0.1",
"postcss-loader": "^3.0.0",
"pug": "^2.0.4",
"sass-loader": "^8.0.2",
......
import passport from "passport";
import User from "./models/User";
// passport에게 strategy(로그인 방식)를 사용하도록 요청한다.
// passportLocalMongooser가 제공하는 strategy를 이용한다. -> username과 password를 사용.
passport.use(User.createStrategy());