| 12345678910111213141516171819202122232425262728293031323334353637383940 | /* global WIKI */// ------------------------------------// Discord Account// ------------------------------------const DiscordStrategy = require('passport-discord').Strategyconst _ = require('lodash')module.exports = {  init (passport, conf) {    passport.use(conf.key,      new DiscordStrategy({        clientID: conf.clientId,        clientSecret: conf.clientSecret,        authorizationURL: 'https://discord.com/api/oauth2/authorize?prompt=none',        callbackURL: conf.callbackURL,        scope: 'identify email guilds',        passReqToCallback: true      }, async (req, accessToken, refreshToken, profile, cb) => {        try {          if (conf.guildId && !_.some(profile.guilds, { id: conf.guildId })) {            throw new WIKI.Error.AuthLoginFailed()          }          const user = await WIKI.models.users.processProfile({            providerKey: req.params.strategy,            profile: {              ...profile,              displayName: profile.username,              picture: `https://cdn.discordapp.com/avatars/${profile.id}/${profile.avatar}.png`            }          })          cb(null, user)        } catch (err) {          cb(err, null)        }      }      ))  }}
 |