diff --git a/types/cookie-session/cookie-session-tests.ts b/types/cookie-session/cookie-session-tests.ts index 74b7cafc8f..e9beea5c06 100644 --- a/types/cookie-session/cookie-session-tests.ts +++ b/types/cookie-session/cookie-session-tests.ts @@ -2,6 +2,7 @@ import express = require('express'); import cookieSession = require('cookie-session'); +import Keygrip = require('keygrip'); var app = express() @@ -36,4 +37,15 @@ app2.use(cookieSession({ // have a different value than the default. app2.use(function (req, res, next) { req.sessionOptions.maxAge = req.session['maxAge'] || req.sessionOptions.maxAge -}); \ No newline at end of file +}); + + +var app3 = express() + +app3.set('trust proxy', 1) // trust first proxy + +// a Keygrip object may be used instead of an array of keys. +app3.use(cookieSession({ + name: 'session', + keys: Keygrip(['key1', 'key2']) +})); \ No newline at end of file diff --git a/types/cookie-session/index.d.ts b/types/cookie-session/index.d.ts index af48860396..8166645b97 100644 --- a/types/cookie-session/index.d.ts +++ b/types/cookie-session/index.d.ts @@ -1,10 +1,11 @@ // Type definitions for cookie-session 2.0 // Project: https://github.com/expressjs/cookie-session -// Definitions by: Borislav Zhivkov +// Definitions by: Borislav Zhivkov , Jason Cordial // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.2 +// TypeScript Version: 2.9 /// +/// declare namespace Express { interface Request extends CookieSessionInterfaces.CookieSessionRequest {} @@ -20,7 +21,7 @@ declare namespace CookieSessionInterfaces { /** * The list of keys to use to sign & verify cookie values. Set cookies are always signed with keys[0], while the other keys are valid for verification, allowing for key rotation. */ - keys?: Array; + keys?: Array | import('keygrip'); /** * A string which will be used as single key if keys is not provided.