diff options
author | Rishabh Arya <rishabharya32@gmail.com> | 2021-02-18 19:48:14 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-18 09:18:14 -0500 |
commit | e17553e185aa6054b229524ac04a2743fe8c6fa9 (patch) | |
tree | 73134fca53629d233d3746c553cdf20edb675e2a | |
parent | Deprecate old admin API `GET /_synapse/admin/v1/users/<user_id>` (#9429) (diff) | |
download | synapse-e17553e185aa6054b229524ac04a2743fe8c6fa9.tar.xz |
Parse ui_auth.session_timeout as a duration (instead of treating it as ms) (#9426)
-rw-r--r-- | changelog.d/9426.bugfix | 1 | ||||
-rw-r--r-- | docs/sample_config.yaml | 6 | ||||
-rw-r--r-- | synapse/config/auth.py | 10 | ||||
-rw-r--r-- | tests/rest/client/v2_alpha/test_auth.py | 2 |
4 files changed, 11 insertions, 8 deletions
diff --git a/changelog.d/9426.bugfix b/changelog.d/9426.bugfix new file mode 100644 index 0000000000..a852a315ad --- /dev/null +++ b/changelog.d/9426.bugfix @@ -0,0 +1 @@ +The `ui_auth.session_timeout` configuration setting can now be specified in terms of number of seconds/minutes/etc/. Contributed by Rishabh Arya. diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml index 13a6f045f9..52380dfb04 100644 --- a/docs/sample_config.yaml +++ b/docs/sample_config.yaml @@ -2228,8 +2228,8 @@ password_config: #require_uppercase: true ui_auth: - # The number of milliseconds to allow a user-interactive authentication - # session to be active. + # The amount of time to allow a user-interactive authentication session + # to be active. # # This defaults to 0, meaning the user is queried for their credentials # before every action, but this can be overridden to allow a single @@ -2240,7 +2240,7 @@ ui_auth: # Uncomment below to allow for credential validation to last for 15 # seconds. # - #session_timeout: 15000 + #session_timeout: "15s" # Configuration for sending emails from Synapse. diff --git a/synapse/config/auth.py b/synapse/config/auth.py index 7fa64b821a..9aabaadf9e 100644 --- a/synapse/config/auth.py +++ b/synapse/config/auth.py @@ -37,7 +37,9 @@ class AuthConfig(Config): # User-interactive authentication ui_auth = config.get("ui_auth") or {} - self.ui_auth_session_timeout = ui_auth.get("session_timeout", 0) + self.ui_auth_session_timeout = self.parse_duration( + ui_auth.get("session_timeout", 0) + ) def generate_config_section(self, config_dir_path, server_name, **kwargs): return """\ @@ -93,8 +95,8 @@ class AuthConfig(Config): #require_uppercase: true ui_auth: - # The number of milliseconds to allow a user-interactive authentication - # session to be active. + # The amount of time to allow a user-interactive authentication session + # to be active. # # This defaults to 0, meaning the user is queried for their credentials # before every action, but this can be overridden to allow a single @@ -105,5 +107,5 @@ class AuthConfig(Config): # Uncomment below to allow for credential validation to last for 15 # seconds. # - #session_timeout: 15000 + #session_timeout: "15s" """ diff --git a/tests/rest/client/v2_alpha/test_auth.py b/tests/rest/client/v2_alpha/test_auth.py index 501f09203f..c26ad824f7 100644 --- a/tests/rest/client/v2_alpha/test_auth.py +++ b/tests/rest/client/v2_alpha/test_auth.py @@ -343,7 +343,7 @@ class UIAuthTests(unittest.HomeserverTestCase): }, ) - @unittest.override_config({"ui_auth": {"session_timeout": 5 * 1000}}) + @unittest.override_config({"ui_auth": {"session_timeout": "5s"}}) def test_can_reuse_session(self): """ The session can be reused if configured. |