A cas client for nodejs


Keywords
cas, cas-node, cas-client, sso, async, nodejs
Install
npm install cas-client-node@1.1.0

Documentation

CAS client node

A cas client for nodejs

Installation

npm i cas-client-node --save

Build

npm run build

Example

import express from 'express';
import CAS from 'cas-client-node';
import session from 'express-session';
const port=80;
server=express();
const cas = CAS({
    cas_host: 'https://cas-server.com/cas',
    service: 'http://localhost/sso'
});
server.use(session({
    secret: 'secret',
    resave: false,
    saveUninitialized: true
}))
server.get('/sso', cas.auth, async(req, res, next)=> {
    if (req.user) {
        let expires = new Date();
        expires.setDate(expires.getDate() + 90);
        res.cookie('user', req.user, {expires: expires});
        if (req.headers.referer)
            res.redirect(req.headers.referer);
        else res.redirect('/');
    }
    else {
        res.status(200).send('An error occur when login');
    }
});
server.get('/users/logout', cas.logout, async(req, res, next)=> {
    res.cookie('user', null, {expires: new Date(Date.now() - 1000)});
    res.redirect('/?ref=logout');
});
server.listen(port, () => {   
    console.log(`The server is running at http://localhost:${port}/`);
});

Made with ♥ by hoangrio