mirror of https://github.com/status-im/codimd.git
Merge pull request #1327 from kamijin-fanta/github-enterprise
support to login with github enterprise
This commit is contained in:
commit
f871eff28d
|
@ -104,6 +104,7 @@ module.exports = {
|
|||
consumerSecret: undefined
|
||||
},
|
||||
github: {
|
||||
enterpriseURL: undefined, // if you use github.com, not need to specify
|
||||
clientID: undefined,
|
||||
clientSecret: undefined
|
||||
},
|
||||
|
|
|
@ -66,6 +66,7 @@ module.exports = {
|
|||
consumerSecret: process.env.CMD_TWITTER_CONSUMERSECRET
|
||||
},
|
||||
github: {
|
||||
enterpriseURL: process.env.CMD_GITHUB_ENTERPRISE_URL,
|
||||
clientID: process.env.CMD_GITHUB_CLIENTID,
|
||||
clientSecret: process.env.CMD_GITHUB_CLIENTSECRET
|
||||
},
|
||||
|
|
|
@ -103,7 +103,8 @@ module.exports = function (sequelize, DataTypes) {
|
|||
else photo += '?size=bigger'
|
||||
break
|
||||
case 'github':
|
||||
photo = 'https://avatars.githubusercontent.com/u/' + profile.id
|
||||
if (profile.photos && profile.photos[0]) photo = profile.photos[0].value.replace('?', '')
|
||||
else photo = 'https://avatars.githubusercontent.com/u/' + profile.id
|
||||
if (bigger) photo += '?s=400'
|
||||
else photo += '?s=96'
|
||||
break
|
||||
|
|
|
@ -6,13 +6,21 @@ const GithubStrategy = require('passport-github').Strategy
|
|||
const config = require('../../../config')
|
||||
const response = require('../../../response')
|
||||
const { setReturnToFromReferer, passportGeneralCallback } = require('../utils')
|
||||
const { URL } = require('url')
|
||||
|
||||
const githubAuth = module.exports = Router()
|
||||
|
||||
function githubUrl (path) {
|
||||
return config.github.enterpriseURL && new URL(path, config.github.enterpriseURL).toString()
|
||||
}
|
||||
|
||||
passport.use(new GithubStrategy({
|
||||
clientID: config.github.clientID,
|
||||
clientSecret: config.github.clientSecret,
|
||||
callbackURL: config.serverURL + '/auth/github/callback'
|
||||
callbackURL: config.serverURL + '/auth/github/callback',
|
||||
authorizationURL: githubUrl('login/oauth/authorize'),
|
||||
tokenURL: githubUrl('login/oauth/access_token'),
|
||||
userProfileURL: githubUrl('api/v3/user')
|
||||
}, passportGeneralCallback))
|
||||
|
||||
githubAuth.get('/auth/github', function (req, res, next) {
|
||||
|
|
Loading…
Reference in New Issue