Я пытаюсь установить истечение срока действия токена в течение одного часа, следуя примеру из guide :
jwt.sign({
data: 'foobar'
}, 'secret', { expiresIn: 60 * 60 })
Но срок действия токена не истекает через несколько часов:
curl -XGET -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNTU4OTAzMDI3LCJleHAiOjE1NTg5MDY2Mjd9.8uHKDM4Hgy08kw_0CLib2QnzqudeC_RsIlh8e9uURT0' 'http://localhost:3000/api/users'
Я что-то пропустил?
Как установить срок его действия через 1 или 5 минут?
Код для проверки токена:
import jwt from 'jsonwebtoken'
import config from '../config'
export default async (ctx, next) => {
try {
await next()
if(ctx.req.hasOwnProperty('headers') && ctx.req.headers.hasOwnProperty('authorization')) {
ctx.req.user = jwt.verify(ctx.req.headers['authorization'], config.JWT_SECRET, function (err, payload) {
console.log(payload)
})
} else {
// If there is no autorization header, return 401 status code.
ctx.throw(401, 'Protected resource, use Authorization header to get access')
}
} catch (err) {
ctx.status = err.status || 500
ctx.type = 'json'
ctx.body = {
status: ctx.status,
message: err.message
}
ctx.app.emit('error', err, ctx)
}
}