diff --git a/packages/strapi-plugin-users-permissions/services/Jwt.js b/packages/strapi-plugin-users-permissions/services/Jwt.js index a7f2f5c5cf..4f8f445ccf 100644 --- a/packages/strapi-plugin-users-permissions/services/Jwt.js +++ b/packages/strapi-plugin-users-permissions/services/Jwt.js @@ -9,6 +9,8 @@ const _ = require('lodash'); const jwt = require('jsonwebtoken'); +const defaultJwtOptions = { expiresIn: '30d' }; + module.exports = { getToken: function (ctx) { const params = _.assign({}, ctx.request.body, ctx.request.query); @@ -36,12 +38,12 @@ module.exports = { return this.verify(token); }, - issue: (payload) => { + issue: (payload, jwtOptions) => { + _.defaults(jwtOptions, defaultJwtOptions); return jwt.sign( _.clone(payload.toJSON ? payload.toJSON() : payload), - process.env.JWT_SECRET || _.get(strapi.plugins['users-permissions'], 'config.jwtSecret') || 'oursecret', { - expiresIn: '30d' - } + process.env.JWT_SECRET || _.get(strapi.plugins['users-permissions'], 'config.jwtSecret') || 'oursecret', + jwtOptions, ); },