@tryghost/mw-session-from-token
v0.1.34
Published
Middleware to handle generating sessions from tokens, for example like with magic links, or SSO flows similar to SAML.
Maintainers
Keywords
Readme
Session From Token Middleware
Middleware to handle generating sessions from tokens, for example like with magic links, or SSO flows similar to SAML.
Install
npm install @tryghost/mw-session-from-token --save
or
yarn add @tryghost/mw-session-from-token
Usage
const sessionFromTokenMiddleware = require('@tryghost/mw-session-from-token')({
callNextWithError: true,
async createSession(req, res, user) {
req.session.user_id = user.id;
},
async getTokenFromRequest(res) {
return req.headers['some-cool-header'];
},
async getLookupFromToken(token) {
await someTokenService.validate(token);
const data = await someTokenService.getData(token);
return data.email;
},
async findUserByLookup(lookup) {
return await someUserModel.findOne({email: lookup});
}
});
someExpressApp.get('/some/sso/url', someSessionMiddleware, sessionFromTokenMiddleware, (req, res, next) => {
res.redirect('/loggedin');
}, (err, res, res, next) => {
res.redirect('/error');
});Develop
This is a mono repository, managed with lerna.
Follow the instructions for the top-level repo.
git clonethis repo &cdinto it as usual- Run
yarnto install top-level dependencies.
Run
yarn dev
Test
yarn lintrun just eslintyarn testrun lint and tests
Copyright & License
Copyright (c) 2013-2022 Ghost Foundation - Released under the MIT license.
