To be very and perfectly clear: Admin Tools' Secret URL Parameter uses Joomla's session to store a flag, a special value that means "all clear, this session has passed the Secret URL Parameter test". If Joomla expires or resets the session for any reason then the flag disappears. For all Admin Tools knows you have not gone through the Secret URL Parameter validation, therefore it needs to block you.
As a result, your problem is with Joomla, not Admin Tools. Even if you disable the Secret URL Parameter you will still be getting logged out of your site's backend. The question is why it's happening.
The only way Admin Tools can contribute to the problem is if the “Enable Session Cleaner” option is set to Yes in the System - Admin Tools plugin. Can you please check that? If it's enabled please set it to No. Joomla has an inconsistent API in its session handlers. Asking it to garbage collect the sessions ends up in many cases booting everyone out of the site. Again, that's a Joomla problem, not an Admin Tools problem.
If that's not the case, Joomla 3 has the CLI tool garbagecron.php. If you have created a CRON job for it among the other things it will do is run the same core Joomla API code as our Session Cleaner. As I said, this may end up booting everyone from the site.
Speaking of Joomla and session handlers, the database session handler obviously uses the Joomla database to store session information. It has two limitations. One, the maximum size of session data it can handle and two, it still requires the PHP session system to work properly.
The former means that if the session data exceeds a certain amount it gets corrupt and the session is effectively expired immediately. This may happen when a plugin, module or component tries to store too much data in the session. Editing really long pieces of information like really big articles may inadvertently trigger that issue.
The latter also affects the "native" session handler. PHP stores its session IDs in files on the server. If something on the server itself is periodically going through that folder, deleting the files, it might end up killing your sessions. This is important especially on servers which have an unwritable session path and you had to reconfigure it in your .user.ini, php.ini or .htaccess file. If you use Joomla's tmp folder, a very common and understandable mistake, you will end up in a situation where whenever your host, you or a plugin cleans the Joomla cache it immediately boots everyone out of your site.
Furthermore, Joomla has a workaround for a session exploit in the core. It is possible to send a request which tries to add certain kind of data in the session (like null bytes) which will trigger this protection. When the protection is triggered the session is immediately terminated, logging you out.
Finally, there's a very ill-though feature that's a massive problem for security AND causes this kind of inexplicable logouts: shared sessions. When you do that, Joomla tries to link the frontend and backend sessions. The problem is that we're still talking about two separate web applications with separate sessions which try to figure out which session tells the truth. I know of many ways this can get wonky and end up logging you out accidentally or end up blocking you inadvertently. None of these have anything to do with our code, they only have to do with core Joomla code. If you value your sanity and the security of your site DO NOT use shared sessions.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!