diff --git a/lib/jwt/sign.js b/lib/jwt/sign.js index 0c2ac40296..587c1c639b 100644 --- a/lib/jwt/sign.js +++ b/lib/jwt/sign.js @@ -67,6 +67,7 @@ module.exports = (payload, key, options = {}) => { sub: subject || payload.sub, aud: audience || payload.aud, iss: issuer || payload.iss, + jti: jti || payload.jti, iat: iat ? unix : payload.iat, nonce: nonce || payload.nonce, exp: expiresIn ? unix + secs(expiresIn) : payload.exp, diff --git a/test/jwt/sign.test.js b/test/jwt/sign.test.js index f9498d3bc8..5f337c7847 100644 --- a/test/jwt/sign.test.js +++ b/test/jwt/sign.test.js @@ -102,6 +102,12 @@ test('options.issuer', t => { t.is(iss, issuer) }) +test('options.jti', t => { + const jti = 'foo' + const decoded = JWT.decode(JWT.sign({}, key, { jti })) + t.is(decoded.jti, jti) +}) + test('options.iat false', t => { const iat = false t.deepEqual(JWT.decode(JWT.sign({}, key, { iat })), {})