Skip to content

Commit d39902b

Browse files
committed
Fix cookie-session support for Express and add tests
1 parent ff14108 commit d39902b

4 files changed

Lines changed: 15 additions & 2 deletions

File tree

lib/consumer/express.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ module.exports = function (_config) {
5555
}
5656

5757
var redirect = (req, res, url) =>
58-
typeof req.session.save === 'function'
58+
typeof req.session.save === 'function' && req.session.save.length
5959
? req.session.save(() => res.redirect(url))
6060
: res.redirect(url)
6161

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"babel-polyfill": "^6.26.0",
3232
"babel-preset-env": "^1.7.0",
3333
"body-parser": "^1.18.3",
34+
"cookie-session": "^1.3.3",
3435
"coveralls": "^3.0.3",
3536
"express": "^4.16.4",
3637
"express-session": "^1.15.6",

test/consumer/middleware.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ describe('middleware', () => {
4040
}
4141
}
4242

43-
;['koa', 'koa-mount'].forEach((name) => {
43+
;['koa', 'koa-mount', 'express', 'express-cookie'].forEach((name) => {
4444
describe(name, () => {
4545
before(async () => {
4646
var obj = await client[name](config, port.app)

test/consumer/util/client.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var qs = require('qs')
44

55
var express = require('express')
66
var session = require('express-session')
7+
var cookiesession = require('cookie-session')
78
var bodyParser = require('body-parser')
89

910
var Koa = require('koa')
@@ -44,6 +45,17 @@ module.exports = {
4445

4546
var server = app.listen(port, () => resolve({grant, server, app}))
4647
}),
48+
'express-cookie': (config, port) => new Promise((resolve) => {
49+
var grant = Grant.express()(config)
50+
51+
var app = express()
52+
app.use(bodyParser.urlencoded({extended: true}))
53+
app.use(cookiesession({signed: true, secret: 'grant', maxAge: 60 * 1000}))
54+
app.use(grant)
55+
app.get('/', callback.express)
56+
57+
var server = app.listen(port, () => resolve({grant, server, app}))
58+
}),
4759
koa: (config, port) => new Promise((resolve) => {
4860
var grant = Grant.koa()(config)
4961

0 commit comments

Comments
 (0)