summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorlowercasename <raphaelkabo@gmail.com>2019-07-25 17:20:44 +0100
committerlowercasename <raphaelkabo@gmail.com>2019-07-25 17:20:44 +0100
commit26af40f50b02a487b3eff842fdfc5409477a88d2 (patch)
tree918c3a67ae3bdad04a271c8aa8af110f36f0caf8 /models
parent2675eb32179ad29fb79599c8abb78a9c6bf0825e (diff)
Many bugfixes
Diffstat (limited to 'models')
-rwxr-xr-xmodels/User.js43
-rwxr-xr-xmodels/passport.js19
2 files changed, 0 insertions, 62 deletions
diff --git a/models/User.js b/models/User.js
deleted file mode 100755
index 9391c35..0000000
--- a/models/User.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const mongoose = require('mongoose');
-const crypto = require('crypto');
-const jwt = require('jsonwebtoken');
-
-const { Schema } = mongoose;
-
-const UserSchema = new Schema({
- email: String,
- hash: String,
- salt: String,
-});
-
-UserSchema.methods.setPassword = function(password) {
- this.salt = crypto.randomBytes(16).toString('hex');
- this.hash = crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
-};
-
-UserSchema.methods.validatePassword = function(password) {
- const hash = crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
- return this.hash === hash;
-};
-
-UserSchema.methods.generateJWT = function() {
- const today = new Date();
- const expirationDate = new Date(today);
- expirationDate.setDate(today.getDate() + 60);
-
- return jwt.sign({
- email: this.email,
- id: this._id,
- exp: parseInt(expirationDate.getTime() / 1000, 10),
- }, 'secret');
-}
-
-UserSchema.methods.toAuthJSON = function() {
- return {
- _id: this._id,
- email: this.email,
- token: this.generateJWT(),
- };
-};
-
-mongoose.model('User', UserSchema); \ No newline at end of file
diff --git a/models/passport.js b/models/passport.js
deleted file mode 100755
index 15020a7..0000000
--- a/models/passport.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const mongoose = require('mongoose');
-const passport = require('passport');
-const LocalStrategy = require('passport-local');
-
-const User = mongoose.model('User');
-
-passport.use(new LocalStrategy({
- usernameField: 'user[email]',
- passwordField: 'user[password]',
-}, (email, password, done) => {
- User.findOne({ email })
- .then((user) => {
- if(!user || !user.validatePassword(password)) {
- return done(null, false, { errors: { 'Email or password': 'is invalid' } });
- }
-
- return done(null, user);
- }).catch(done);
-})); \ No newline at end of file