Skip to content

Instantly share code, notes, and snippets.

@MACSkeptic
Last active December 10, 2015 22:08

Revisions

  1. MACSkeptic revised this gist Jan 10, 2013. 1 changed file with 9 additions and 8 deletions.
    17 changes: 9 additions & 8 deletions file.js
    Original file line number Diff line number Diff line change
    @@ -51,15 +51,16 @@ var loggedin = function(req, res, next) {
    var ticket = (req.session && req.session.ticket) || req.query.ticket;

    new cas({
    service: 'http://localhost:3000',
    casHost: 'https://cas.thoughtworks.com',
    casBasePath: '/cas',
    loginPath: '/login',
    logoutPath: '/logout',
    validatePath: '/servicevalidate',
    userObject: 'AUTH_USER'
    }).validate(ticket, function (err, logged, resp) {
    service: 'http://localhost:3000',
    casHost: 'https://cas.thoughtworks.com',
    casBasePath: '/cas',
    loginPath: '/login',
    logoutPath: '/logout',
    validatePath: '/servicevalidate',
    userObject: 'AUTH_USER'
    }).validate(ticket, function (err, logged, resp) {
    if(!err) {
    req.session.ticket = ticket;
    next();
    return;
    }
  2. MACSkeptic renamed this gist Jan 10, 2013. 1 changed file with 17 additions and 4 deletions.
    21 changes: 17 additions & 4 deletions gistfile1.txt → file.js
    Original file line number Diff line number Diff line change
    @@ -48,12 +48,25 @@ var casauth = cas.getMiddleware({
    });

    var loggedin = function(req, res, next) {
    if ((req.session && req.session.token) || new cas(same parameters as getMiddleware).validate(req.query.ticket)) {
    var ticket = (req.session && req.session.ticket) || req.query.ticket;

    new cas({
    service: 'http://localhost:3000',
    casHost: 'https://cas.thoughtworks.com',
    casBasePath: '/cas',
    loginPath: '/login',
    logoutPath: '/logout',
    validatePath: '/servicevalidate',
    userObject: 'AUTH_USER'
    }).validate(ticket, function (err, logged, resp) {
    if(!err) {
    next();
    return;
    }
    req.session.referer = req.url;
    res.redirect('/login');
    }
    req.session.referer = req.url;
    res.redirect('/login');
    })

    };


  3. Nattivolk created this gist Jan 10, 2013.
    70 changes: 70 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,70 @@
    /**
    * Module dependencies.
    */

    var express = require('express')
    , routes = require('./routes')
    , data = require('./routes/data')
    , user = require('./routes/user')
    , http = require('http')
    , path = require('path');

    var app = express();

    app.configure(function(){
    app.set('port', process.env.PORT || 3000);
    app.set("view options", { layout: false })
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.use(express.favicon());
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({cookie: {path: '/', maxAge: null}, secret: 'your secret code to encode the cookie'}));
    app.use(app.router);
    app.use(express.static(path.join(__dirname, 'public')));
    });

    app.configure('development', function(){
    app.use(express.errorHandler());
    });

    //app.get('/', routes.index);
    app.get('/users', user.list);

    defaults = {
    };

    var cas = require('cas-sfu');
    var casauth = cas.getMiddleware({
    service: 'http://localhost:3000',
    casHost: 'https://cas.thoughtworks.com',
    casBasePath: '/cas',
    loginPath: '/login',
    logoutPath: '/logout',
    validatePath: '/servicevalidate',
    userObject: 'AUTH_USER'
    });

    var loggedin = function(req, res, next) {
    if ((req.session && req.session.token) || new cas(same parameters as getMiddleware).validate(req.query.ticket)) {
    next();
    return;
    }
    req.session.referer = req.url;
    res.redirect('/login');
    };


    app.get('/login', casauth, function(req, res) {
    req.session.AUTH_USER.logindate = new Date();
    res.redirect(req.session.referer || '/');
    });

    app.get('/', loggedin, routes.index);
    app.get('/data', data.read);

    http.createServer(app).listen(app.get('port'), function(){
    console.log("Express server listening on port " + app.get('port'));
    });