plugins/mod_tokenauth.lua
changeset 13309 852a61c720d0
parent 13280 c34266c061c9
child 13325 19c814d4dd3a
equal deleted inserted replaced
13308:874600c982bd 13309:852a61c720d0
   164 	if not grant.tokens then
   164 	if not grant.tokens then
   165 		module:log("debug", "Token grant without tokens, cleaning up");
   165 		module:log("debug", "Token grant without tokens, cleaning up");
   166 		token_store:set_key(username, grant.id, nil);
   166 		token_store:set_key(username, grant.id, nil);
   167 		return nil, "invalid";
   167 		return nil, "invalid";
   168 	end
   168 	end
       
   169 
       
   170 	local found_expired = false
   169 	for secret_hash, token_info in pairs(grant.tokens) do
   171 	for secret_hash, token_info in pairs(grant.tokens) do
   170 		local found_expired = false
       
   171 		if token_info.expires and token_info.expires < now then
   172 		if token_info.expires and token_info.expires < now then
   172 			module:log("debug", "Token has expired, cleaning it up");
   173 			module:log("debug", "Token has expired, cleaning it up");
   173 			grant.tokens[secret_hash] = nil;
   174 			grant.tokens[secret_hash] = nil;
   174 			found_expired = true;
   175 			found_expired = true;
   175 		end
   176 		end
   176 		if found_expired then
       
   177 			token_store:set_key(username, grant.id, nil);
       
   178 		end
       
   179 	end
   177 	end
   180 
   178 
   181 	if not grant.expires and next(grant.tokens) == nil and grant.accessed + empty_grant_lifetime < now then
   179 	if not grant.expires and next(grant.tokens) == nil and grant.accessed + empty_grant_lifetime < now then
   182 		module:log("debug", "Token grant has no tokens, discarding");
   180 		module:log("debug", "Token grant has no tokens, discarding");
   183 		token_store:set_key(username, grant.id, nil);
   181 		token_store:set_key(username, grant.id, nil);
   184 		return nil, "expired";
   182 		return nil, "expired";
       
   183 	elseif found_expired then
       
   184 		token_store:set_key(username, grant.id, grant);
   185 	end
   185 	end
   186 
   186 
   187 	return grant;
   187 	return grant;
   188 end
   188 end
   189 
   189