123456789101112131415161718192021222324252627282930313233343536373839 |
- /* global WIKI */
- // ------------------------------------
- // Local Account
- // ------------------------------------
- const LocalStrategy = require('passport-local').Strategy
- module.exports = {
- key: 'local',
- title: 'Local',
- useForm: true,
- props: [],
- init (passport, conf) {
- passport.use('local',
- new LocalStrategy({
- usernameField: 'email',
- passwordField: 'password'
- }, (uEmail, uPassword, done) => {
- WIKI.db.users.query().findOne({
- email: uEmail,
- provider: 'local'
- }).then((user) => {
- if (user) {
- return user.verifyPassword(uPassword).then(() => {
- return done(null, user) || true
- }).catch((err) => {
- return done(err, null)
- })
- } else {
- return done(new WIKI.Error.AuthLoginFailed(), null)
- }
- }).catch((err) => {
- done(err, null)
- })
- }
- ))
- }
- }
|