diff --git a/common/models/user.js b/common/models/user.js index e9fee16e..42661905 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -464,7 +464,7 @@ module.exports = function(User) { // max ttl this.settings.maxTTL = this.settings.maxTTL || DEFAULT_MAX_TTL; - this.settings.ttl = DEFAULT_TTL; + this.settings.ttl = this.settings.ttl || DEFAULT_TTL; UserModel.setter.password = function(plain) { var salt = bcrypt.genSaltSync(this.constructor.settings.saltWorkFactor || SALT_WORK_FACTOR); diff --git a/test/user.test.js b/test/user.test.js index 8b8ee4f3..60ef9182 100644 --- a/test/user.test.js +++ b/test/user.test.js @@ -808,4 +808,14 @@ describe('User', function() { expect(User.accessToken.modelName, 'modelName').to.eql('AccessToken'); }); }); + + describe('ttl', function() { + var User2; + beforeEach(function() { + User2 = loopback.User.extend('User2', {}, { ttl: 10 }); + }); + it('should override ttl setting in based User model', function() { + expect(User2.settings.ttl).to.equal(10); + }); + }); });