-
-
Notifications
You must be signed in to change notification settings - Fork 424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[16.0][MIG] auth_session_timeout #507
Conversation
5cf96e3
to
20f76af
Compare
/ocabot migration auth_session_timeout |
Sorry @bosd you are not allowed to mark the addon tobe migrated. To do so you must either have push permissions on the repository, or be a declared maintainer of all modified addons. If you wish to adopt an addon and become it's maintainer, open a pull request to add your GitHub login to the |
v 16.0 When I click "OK", the page reloads, but I remain logged in. |
I can replicate this behaviour.. |
|
||
# If session terminated, all done | ||
if terminated: | ||
raise SessionExpiredException("Session expired") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @bosd ,
I can replicate this behaviour..
Any ideas why it is not working?
I see this line making the issue
Because you raise an exception here, then everything is reverted, the user can not log out
For solution, we should return
here, not raise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bosd please help to check, thank you
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For solution, we should return here, not raise
I'm having some personal time. Later, in a couple of weeks I will get back to this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For solution, we should
return
here, notraise
@Leonidas-VII Thanks for the suggestion, I made the commit. It does not seem to resolve the problem.
I have the impression it is related to these lines:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For return
, we can just return anything here, nothing is done with the result. So we don't need to return the exception.
Meanwhile, the issue of a refresh not leading to an expiration I think is caused by this - can you cherry-pick it in?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a question: why don't we add the auto-reload function after 5/10 seconds instead of clicking on the button "OK"?
… True * Add Usage section to ReadMe w/ Runbot link * `_crypt_context` now directly exposes the `CryptContext` * Change all instances of openerp to odoo * Add test coverage to IrConfigParameter * Add test coverage for res.users * Remove db from `get_session_parameters` method call * Remove deprecated skiparg for ormcache * Fix tests & lint * Switch cache to use self.cr.dbname * Fix ormcache
* Module auth_session_timeout: --------------------------- * Refactor to allow other modules to inherit and augment or override the following: ** Session expiry time (deadline) calculation ** Ignored URLs ** Final session expiry (with possibility to late-abort) * Re-ordered functionality to remove unnecessary work, as this code is called very often. * Do not expire a session if delay gets set to zero (or unset / false) * WIP * Fixed flake8 lint errors * Fixed flake8 lint errors * WIP * WIP * WIP * WIP * WIP * WIP * Module: auth-session-timeout: Refactor ResUser tests to use `unittest.mock` patching * Module: auth_session_timeout: Fixed flake8 lint errors * Module: auth_session_timeout: Fixed flake8 lint errors
…e backwards compatibility methods that were retained during v9 rework * Upgrade API and rename a few things for PEP-8 * Switch to HttpCase for tests * Switch to isolated build
… (#1070) * corrects AttributeError: 'HttpRequest' object has no attribute 'http' * updates the module version number for pull request #1070
New changes for move module, clean module, apply new oca guideline and make compatible with 11.0: * Move module from oca/server-tools:10.0 to oca/server-auth:11.0 * Remove .DS_Store files, addd by mistake in early changes and not needed. * Fix error when make RPC request. Applied thanks to comment added by @christophlsa. For more information go to OCA/server-tools#1163 (review) * Update version to the first one in 11.0 * Update README to match new guideline * Remove she bang coding * Use _authenticate method instead of deprecated method check. For more information go to https://github.com/odoo/odoo/blob/11.0/odoo/http.py#L1049 * Improve auth_session_timeout method return raise SessionExpiredException exception instead of False. This will show a "session expired please reload page" message to the user. * Fix update unitet test. make then turn green and the update then to make them match with new changes - There was not getmtime() result definied in this test case, For that reason was returning a MagicMock() object, For this case their are trying to test that the session is valid, this is the same that the path of the file with session is not expired. To simulate that I just updated for the test case the getmtime() result to a value that will be greater than the delay expected: I used the current time This way when evaluationg if the sessions is expire will return False instead of TypeError: unorderable types: MagicMock() < float() The unit test still works the same and the result is without errors. * Fix plylint errors: - E302 expected 2 blank lines, - Not used variable and not valid var name. Remove e varaible since is not valid name and this one is not been used.
Currently translated at 100.0% (3 of 3 strings) Translation: server-auth-12.0/server-auth-12.0-auth_session_timeout Translate-URL: https://translation.odoo-community.org/projects/server-auth-12-0/server-auth-12-0-auth_session_timeout/pt_BR/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-auth-13.0/server-auth-13.0-auth_session_timeout Translate-URL: https://translation.odoo-community.org/projects/server-auth-13-0/server-auth-13-0-auth_session_timeout/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-auth-13.0/server-auth-13.0-auth_session_timeout Translate-URL: https://translation.odoo-community.org/projects/server-auth-13-0/server-auth-13-0-auth_session_timeout/
Make it so session timeout doe not apply to requests to a route with auth_method="public". Forward port of OCA#258
Currently translated at 100.0% (3 of 3 strings) Translation: server-auth-14.0/server-auth-14.0-auth_session_timeout Translate-URL: https://translation.odoo-community.org/projects/server-auth-14-0/server-auth-14-0-auth_session_timeout/pt_BR/
The migration issue (#426) has not been updated to reference the current pull request because a previous pull request (#524) is not closed. |
I think everything is ready now |
I still did not include the cherry pick. Will do it later this week. |
When you do so, could you also check if this should be applied for 16.0 too? |
…, but /web is a public route, so it does not trigger the session check but it does trigger session save, so the file mtime is updated before the second HTTP call makes the check takes place, and session is not expired
Excuse me for the delay. Cherry picks are now included. |
Code approved, but it's probably good if someone still tests this on runbot once more to be sure. @KKamaa maybe you can do a sanity check here since you've been busy with the module |
This PR has the |
/ocabot merge nobump |
This PR looks fantastic, let's merge it! |
Congratulations, your PR was merged at 26d6505. Thanks a lot for contributing to OCA. ❤️ |
@CasVissers-360ERP It's Merged |
Syncing from upstream OCA/server-auth (18.0)
Standard migration using odoo-module-migrator /ocabot migration auth_session_timeout .