cas-client-node
Version:
A cas client for nodejs
48 lines (45 loc) • 1.21 kB
Markdown
# 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