hapi-cas
Version:
An authorization plugin for Hapi that implements JASIG CAS authentication.
47 lines (40 loc) • 1.14 kB
JavaScript
;
const fs = require('fs');
const failedXml =
fs.readFileSync(__dirname + '/../fixtures/validateFailure.xml').toString();
const successXml =
fs.readFileSync(__dirname + '/../fixtures/validateSuccess.xml').toString();
const hapi = require('hapi');
const server = new hapi.Server();
server.connection({
host: 'localhost',
address: '127.0.0.1',
port: 9000
});
server.route({
method: 'GET',
path: '/login',
handler: function (request, reply) {
const returnUrl = decodeURIComponent(request.query.service);
const response = reply()
.redirect(returnUrl + '?ticket=ST-15394')
.header('cookie', request.headers.cookie);
return response;
}
});
server.route({
method: 'GET',
path: '/serviceValidate',
handler: function (request, reply) {
const returnUrl = decodeURIComponent(request.query.service);
const ticket = request.query.ticket;
let response;
if (ticket !== 'ST-15394') {
response = reply(failedXml);
} else {
response = reply(successXml);
}
return response.header('cookie', request.headers.cookie);
}
});
module.exports = server;