diff options
-rw-r--r-- | plugins/mod_tokenauth.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins/mod_tokenauth.lua b/plugins/mod_tokenauth.lua index 35fb08c5..658aa39d 100644 --- a/plugins/mod_tokenauth.lua +++ b/plugins/mod_tokenauth.lua @@ -166,22 +166,22 @@ local function _get_validated_grant_info(username, grant) token_store:set_key(username, grant.id, nil); return nil, "invalid"; end + + local found_expired = false for secret_hash, token_info in pairs(grant.tokens) do - local found_expired = false if token_info.expires and token_info.expires < now then module:log("debug", "Token has expired, cleaning it up"); grant.tokens[secret_hash] = nil; found_expired = true; end - if found_expired then - token_store:set_key(username, grant.id, nil); - end end if not grant.expires and next(grant.tokens) == nil and grant.accessed + empty_grant_lifetime < now then module:log("debug", "Token grant has no tokens, discarding"); token_store:set_key(username, grant.id, nil); return nil, "expired"; + elseif found_expired then + token_store:set_key(username, grant.id, grant); end return grant; |