|
|
@ -9,13 +9,22 @@ const _ = require('lodash') |
|
|
|
|
|
|
|
module.exports = { |
|
|
|
init (passport, conf) { |
|
|
|
let githubConfig = { |
|
|
|
clientID: conf.clientId, |
|
|
|
clientSecret: conf.clientSecret, |
|
|
|
callbackURL: conf.callbackURL, |
|
|
|
scope: ['user:email'] |
|
|
|
} |
|
|
|
|
|
|
|
if (conf.useEnterprise) { |
|
|
|
githubConfig.authorizationURL = `https://${conf.enterpriseDomain}/login/oauth/authorize` |
|
|
|
githubConfig.tokenURL = `https://${conf.enterpriseDomain}/login/oauth/access_token` |
|
|
|
githubConfig.userProfileURL = conf.enterpriseUserEndpoint |
|
|
|
githubConfig.userEmailURL = `${conf.enterpriseUserEndpoint}/emails` |
|
|
|
} |
|
|
|
|
|
|
|
passport.use('github', |
|
|
|
new GitHubStrategy({ |
|
|
|
clientID: conf.clientId, |
|
|
|
clientSecret: conf.clientSecret, |
|
|
|
callbackURL: conf.callbackURL, |
|
|
|
scope: ['user:email'] |
|
|
|
}, async (accessToken, refreshToken, profile, cb) => { |
|
|
|
new GitHubStrategy(githubConfig, async (accessToken, refreshToken, profile, cb) => { |
|
|
|
try { |
|
|
|
const user = await WIKI.models.users.processProfile({ |
|
|
|
profile: { |
|
|
|