Skip to content

Commit

Permalink
identation
Browse files Browse the repository at this point in the history
  • Loading branch information
christian-hawk committed Jun 30, 2020
1 parent 6977699 commit 4bbbb47
Show file tree
Hide file tree
Showing 12 changed files with 371 additions and 340 deletions.
29 changes: 29 additions & 0 deletions .eslintrc.json
@@ -0,0 +1,29 @@
{
"env": {
"node": true,
"commonjs": true

},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 11
},
"rules": {
"indent": [
"error",
"tab"
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"never"
]
}
}
231 changes: 116 additions & 115 deletions server/app.js
@@ -1,115 +1,116 @@
const
server = require('http'),
app = require('express')(),
session = require('express-session'),
MemoryStore = require('memorystore')(session),
bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
passport = require('passport'),
morgan = require('morgan'),
logger = require('./utils/logging'),
misc = require('./utils/misc'),
confDiscovery = require('./utils/configDiscovery'),
routes = require('./routes'),
providers = require('./providers'),
passportFile = '/etc/gluu/conf/passport-config.json'

var httpServer, httpPort = -1
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"

app.use(morgan('short', { stream: logger.logger.stream }))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
app.use(cookieParser())

app.use(session({
cookie: {
maxAge: 86400000
},
store: new MemoryStore({
checkPeriod: 86400000 // prune expired entries every 24h
}),
secret: 'wtf',
resave: false,
saveUninitialized: false
}))

app.use(passport.initialize())
app.use(passport.session())
app.use('/passport', routes)

//Default error handler
app.use((err, req, res, next) => {
logger.log2('error', `Unknown Error: ${err}`)
logger.log2('error', err.stack)
res.redirect(`${global.basicConfig.failureRedirectUrl}?failure=An error occurred`)
})

passport.serializeUser((user, done) => {
done(null, user)
})

passport.deserializeUser((user, done) => {
done(null, user)
})


function recreateHttpServer(serverURI, port) {

//Closes and creates a new server if port has changed
if (httpPort != port) {
httpPort = port

if (httpServer) {
httpServer.close(() => logger.log2('info', 'Server stopped accepting connections'))
}
httpServer = server.createServer(app)
httpServer.listen(port, () => {
logger.log2('info', `Server listening on ${serverURI}:${port}`)
console.log(`Server listening on ${serverURI}:${port}`)
})
}

}

function reconfigure(cfg) {

global.config = cfg.conf
global.iiconfig = cfg.idpInitiated

//Apply all runtime configuration changes
logger.configure(cfg.conf.logging)
providers.setup(cfg.providers)
recreateHttpServer(cfg.conf.serverURI, cfg.conf.serverWebPort)

}

function pollConfiguration(configEndpoint) {
misc.pipePromise(confDiscovery.retrieve, reconfigure)(configEndpoint)
.catch(e => {
logger.log2('error', e.toString())
logger.log2('debug', e.stack)
logger.log2('warn', 'An attempt to get configuration data will be tried again soon')
})
setTimeout(pollConfiguration, 60000, configEndpoint) //1 minute timer
}

function init() {

//Read the minimal params to start
let basicConfig = require(passportFile)
//Start logging with basic params
logger.configure({ level: basicConfig.logLevel, consoleLogOnly: basicConfig.consoleLogOnly })

let props = ['clientId', 'keyPath', 'keyId', 'keyAlg', 'configurationEndpoint', 'failureRedirectUrl']
if (misc.hasData(props, basicConfig)) {
global.basicConfig = basicConfig
//Try to gather the configuration
pollConfiguration(basicConfig.configurationEndpoint)
} else {
logger.log2('error', 'passport-config file is missing data')
}

}

init()
const
server = require('http'),
app = require('express')(),
session = require('express-session'),
MemoryStore = require('memorystore')(session),
bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
passport = require('passport'),
morgan = require('morgan'),
logger = require('./utils/logging'),
misc = require('./utils/misc'),
confDiscovery = require('./utils/configDiscovery'),
routes = require('./routes'),
providers = require('./providers'),
passportFile = '/etc/gluu/conf/passport-config.json'

var httpServer, httpPort = -1
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'

app.use(morgan('short', { stream: logger.logger.stream }))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
app.use(cookieParser())

app.use(session({
cookie: {
maxAge: 86400000
},
store: new MemoryStore({
checkPeriod: 86400000 // prune expired entries every 24h
}),
secret: 'wtf',
resave: false,
saveUninitialized: false
}))

app.use(passport.initialize())
app.use(passport.session())
app.use('/passport', routes)

//Default error handler
// eslint-disable-next-line no-unused-vars
app.use((err, req, res, next) => {
logger.log2('error', `Unknown Error: ${err}`)
logger.log2('error', err.stack)
res.redirect(`${global.basicConfig.failureRedirectUrl}?failure=An error occurred`)
})

passport.serializeUser((user, done) => {
done(null, user)
})

passport.deserializeUser((user, done) => {
done(null, user)
})


function recreateHttpServer(serverURI, port) {

//Closes and creates a new server if port has changed
if (httpPort != port) {
httpPort = port

if (httpServer) {
httpServer.close(() => logger.log2('info', 'Server stopped accepting connections'))
}
httpServer = server.createServer(app)
httpServer.listen(port, () => {
logger.log2('info', `Server listening on ${serverURI}:${port}`)
console.log(`Server listening on ${serverURI}:${port}`)
})
}

}

function reconfigure(cfg) {

global.config = cfg.conf
global.iiconfig = cfg.idpInitiated

//Apply all runtime configuration changes
logger.configure(cfg.conf.logging)
providers.setup(cfg.providers)
recreateHttpServer(cfg.conf.serverURI, cfg.conf.serverWebPort)

}

function pollConfiguration(configEndpoint) {
misc.pipePromise(confDiscovery.retrieve, reconfigure)(configEndpoint)
.catch(e => {
logger.log2('error', e.toString())
logger.log2('debug', e.stack)
logger.log2('warn', 'An attempt to get configuration data will be tried again soon')
})
setTimeout(pollConfiguration, 60000, configEndpoint) //1 minute timer
}

function init() {

//Read the minimal params to start
let basicConfig = require(passportFile)
//Start logging with basic params
logger.configure({ level: basicConfig.logLevel, consoleLogOnly: basicConfig.consoleLogOnly })

let props = ['clientId', 'keyPath', 'keyId', 'keyAlg', 'configurationEndpoint', 'failureRedirectUrl']
if (misc.hasData(props, basicConfig)) {
global.basicConfig = basicConfig
//Try to gather the configuration
pollConfiguration(basicConfig.configurationEndpoint)
} else {
logger.log2('error', 'passport-config file is missing data')
}

}

init()
8 changes: 4 additions & 4 deletions server/cache-provider.js
Expand Up @@ -26,8 +26,8 @@ function getRedisProvider(options, exp) {
msg = host && port ? `${host}:${port}` : ''
logger.log2('info', `Redis client has connected to server ${msg}`)
})
client.on("error", err => logger.log2('error', err))
client.on("end", _ => ready = false)
client.on('error', err => logger.log2('error', err))
client.on('end', _ => ready = false)

return {
save: function(key, value, cb) {
Expand Down Expand Up @@ -71,8 +71,8 @@ function getMemcachedProvider(options, exp) {
return {
save: function(key, value, cb) {
setAsync(key, value, exp)
.then(_ => cb(null, value))
.catch(err => cb(err, null))
.then(_ => cb(null, value))
.catch(err => cb(err, null))
},
get: function(key, cb) {
getAsync(key)
Expand Down
18 changes: 9 additions & 9 deletions server/idp-initiated.js
Expand Up @@ -5,7 +5,7 @@ const
providersModule = require('./providers'),
webutil = require('./utils/web-utils'),
misc = require('./utils/misc'),
logger = require("./utils/logging")
logger = require('./utils/logging')

function createAuthzRequest(user, iiconfig) {

Expand All @@ -23,14 +23,14 @@ function createAuthzRequest(user, iiconfig) {
let now = new Date().getTime(),
clientId = iiconfig.openidclient.clientId,
jwt = misc.getRpJWT({
iss: global.config.serverURI,
sub: user.uid,
aud: clientId,
jti: uuid(),
exp: now / 1000 + 30,
iat: now,
data: misc.encrypt(user)
})
iss: global.config.serverURI,
sub: user.uid,
aud: clientId,
jti: uuid(),
exp: now / 1000 + 30,
iat: now,
data: misc.encrypt(user)
})

let extraParams = R.unless(misc.isObject, () => {}, req.extraParams)
req = R.omit(['provider', 'extraParams'], req)
Expand Down
2 changes: 1 addition & 1 deletion server/providers.js
Expand Up @@ -177,7 +177,7 @@ function fillMissingData(ps) {
for (let p of ps) {
let options = p.options,
strategyId = p.passportStrategyId,
isSaml = strategyId == "passport-saml",
isSaml = strategyId == 'passport-saml',
callbackUrl = R.defaultTo(options.callbackUrl, options.callbackURL),
prefix = global.config.serverURI + '/passport/auth'

Expand Down

0 comments on commit 4bbbb47

Please sign in to comment.