UNPKG

cas-client-node

Version:
48 lines (45 loc) 1.21 kB
# 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