/* global wiki */ // ------------------------------------ // OAuth2 Account // ------------------------------------ const OAuth2Strategy = require('passport-oauth2').Strategy module.exports = { key: 'oauth2', title: 'OAuth2', useForm: false, props: ['clientId', 'clientSecret', 'authorizationURL', 'tokenURL'], init (passport, conf) { passport.use('oauth2', new OAuth2Strategy({ authorizationURL: conf.authorizationURL, tokenURL: conf.tokenURL, clientID: conf.clientId, clientSecret: conf.clientSecret, callbackURL: conf.callbackURL }, (accessToken, refreshToken, profile, cb) => { wiki.db.User.processProfile(profile).then((user) => { return cb(null, user) || true }).catch((err) => { return cb(err, null) || true }) }) ) } }