Artem Goncharov
c63efe1df1
Invalidate token of user disabled in readonly backend
...
We support custom identity plugins. They (and also LDAP backend) may be
considered as a read-only (not supporting user data modification through
Keystone API). When a user of such backend is disabled in the remote
system Keystone will never learn about that and as such tokens for those
users will remain active. They cannot be renewed, but still they stay
valid.
In order to address this situation we need to do additional steps in the
token validation and identify the current state of the user in the
backend. Due to the use of the token caching it is not possible to reuse
normal token validation functionality (it will never gets invalidated as
such). In order to keep performance impact as low as possible modify the
token validation as following:
- regular checks
- revocation check
- if token is still active and revoke check passed fetch current user
data. When user is disabled - log a warning (explaining the situation)
and raise `UserDisabled` exception.
Since Keystone also does not receive a message when user is reactivated
(i.e. it was accidentally disabled) we cannot use the same approach as
for regular user disabling and generate a token revocation event. This
would cause the user to be locked out until the revocation event
expires.
Closes-bug: #2122615
Change-Id: If5b83feabc670ced54ef12fe7826267af7e3419d
Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com >
2025-11-14 09:13:49 +01:00
..
2015-11-10 16:10:00 -05:00
2023-08-10 15:39:51 +02:00
2016-07-22 17:47:27 +00:00
2016-03-14 19:04:58 +00:00
2018-09-06 05:09:10 +00:00
2018-01-04 22:28:44 +01:00
2024-11-13 15:14:52 +00:00
2018-05-08 10:59:41 +08:00
2018-01-25 16:33:25 +08:00
2016-03-14 19:04:58 +00:00
2016-02-16 20:00:34 +00:00
2016-03-14 19:04:58 +00:00
2023-08-10 11:35:32 +00:00
2019-04-15 12:25:51 -07:00
2017-02-08 00:31:19 +00:00
2018-01-27 12:00:23 +01:00
2018-06-14 10:54:54 -04:00
2016-07-08 14:44:30 -07:00
2016-09-29 09:25:59 +08:00
2019-02-18 12:30:33 +00:00
2016-08-18 10:37:56 +01:00
2018-11-02 15:06:19 +01:00
2022-06-14 09:09:33 +00:00
2017-01-27 14:36:54 +00:00
2017-08-22 18:54:25 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-01-31 22:07:37 +00:00
2017-08-22 18:54:25 +00:00
2017-08-22 18:54:25 +00:00
2018-07-26 16:35:19 +00:00
2017-02-27 10:14:14 +08:00
2023-03-03 11:28:05 +09:00
2018-02-13 21:37:31 +00:00
2018-10-17 16:54:53 -04:00
2016-01-19 03:47:31 +00:00
2019-09-14 03:14:45 -07:00
2019-07-18 08:57:50 +02:00
2016-03-14 19:04:58 +00:00
2017-05-18 20:03:25 -05:00
2017-03-24 20:08:17 +00:00
2017-07-27 20:20:00 +00:00
2017-08-22 17:14:23 +00:00
2017-01-27 14:36:54 +00:00
2018-02-01 23:33:42 +00:00
2020-08-26 10:28:39 -05:00
2018-11-07 08:43:39 +05:30
2015-12-17 10:46:23 -06:00
2016-03-14 19:04:58 +00:00
2017-03-24 16:41:36 -04:00
2017-11-27 23:06:10 +00:00
2017-01-27 14:36:54 +00:00
2016-02-11 12:21:24 +00:00
2016-03-14 19:04:58 +00:00
2017-01-27 14:36:54 +00:00
2017-08-22 18:54:25 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2016-09-07 11:43:53 -07:00
2016-06-21 14:22:19 -07:00
2017-01-27 14:36:54 +00:00
2016-08-23 06:58:03 +00:00
2017-06-27 20:54:04 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-02-27 10:14:14 +08:00
2017-01-27 14:36:54 +00:00
2020-03-19 20:14:41 +05:30
2019-04-03 21:13:20 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-02-09 19:45:02 +00:00
2017-01-27 14:36:54 +00:00
2016-12-26 10:17:01 +08:00
2017-02-08 00:31:19 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-01-27 18:47:15 +00:00
2017-01-12 04:02:24 +00:00
2017-01-09 21:12:47 +00:00
2017-07-10 17:10:38 -03:00
2017-01-27 14:36:54 +00:00
2017-01-27 14:36:54 +00:00
2017-03-03 09:58:02 +08:00
2017-03-20 12:09:26 +00:00
2017-03-31 11:27:25 -04:00
2017-06-29 16:17:06 -05:00
2017-07-13 22:43:44 +00:00
2021-04-23 13:43:42 -05:00
2017-06-27 21:15:44 +00:00
2017-08-09 14:45:58 +00:00
2017-08-16 15:20:58 +00:00
2017-08-15 16:29:18 +00:00
2017-07-11 17:51:57 -04:00
2018-03-13 11:10:08 -07:00
2017-08-01 01:18:40 +05:30
2019-04-24 11:51:00 +08:00
2018-02-08 21:19:02 +01:00
2019-07-19 10:46:23 -07:00
2017-11-24 08:52:12 +08:00
2017-11-03 20:52:41 +05:30
2018-05-16 15:02:32 -05:00
2018-11-07 22:57:11 +00:00
2017-11-24 01:35:17 +00:00
2017-11-27 15:11:34 +00:00
2018-11-12 14:54:31 +08:00
2018-01-10 14:32:16 +08:00
2018-02-03 15:50:29 +08:00
2018-01-03 20:47:56 +00:00
2018-10-09 09:50:21 +08:00
2018-03-22 19:26:08 +08:00
2018-02-07 19:01:20 +05:30
2019-03-21 18:44:02 +00:00
2018-02-13 21:37:15 +00:00
2018-02-13 20:24:10 +00:00
2018-02-13 20:47:54 +00:00
2018-02-19 22:41:12 +01:00
2019-03-20 20:21:33 +00:00
2019-03-25 19:30:03 +00:00
2019-03-25 18:01:42 +00:00
2019-06-17 15:57:51 +00:00
2019-09-15 20:53:09 +05:30
2018-04-09 16:08:34 +00:00
2018-03-07 09:29:20 -06:00
2018-10-01 17:35:27 +02:00
2019-06-06 10:13:01 -04:00
2020-06-22 14:43:22 +05:30
2018-04-18 19:15:07 +00:00
2018-03-27 13:38:47 -05:00
2018-06-26 19:15:38 +00:00
2018-11-19 22:20:55 +00:00
2018-03-29 20:15:55 +00:00
2018-04-25 11:39:29 +08:00
2018-04-03 14:26:59 +08:00
2018-04-11 10:35:31 +08:00
2018-04-14 16:41:25 +00:00
2018-07-11 10:03:42 +08:00
2019-08-06 09:54:09 -07:00
2018-06-07 16:51:01 +00:00
2018-10-15 10:56:26 -07:00
2018-06-21 15:01:00 -04:00
2018-07-13 14:45:56 +00:00
2019-04-12 09:55:39 -07:00
2018-07-19 03:49:45 +00:00
2018-07-11 08:47:41 +02:00
2018-08-09 20:19:42 +00:00
2018-08-07 14:24:12 +00:00
2019-07-19 17:48:05 -07:00
2018-08-14 02:43:24 +00:00
2018-08-06 17:43:49 +00:00
2018-08-25 09:11:09 +08:00
2018-10-29 15:01:29 +00:00
2018-10-12 16:57:55 +00:00
2018-09-21 21:34:58 +00:00
2018-11-20 13:25:39 +00:00
2024-07-12 20:30:33 +02:00
2019-04-09 16:29:52 +00:00
2019-01-21 20:46:05 +00:00
2018-10-19 11:03:09 +02:00
2019-02-06 09:50:20 +03:00
2019-03-25 20:56:55 +01:00
2019-02-11 17:52:11 +00:00
2019-02-11 17:51:10 +00:00
2019-03-04 15:39:27 +00:00
2019-02-22 16:53:52 +00:00
2019-02-27 16:17:26 +00:00
2019-01-08 22:32:20 +00:00
2019-01-08 22:15:32 +00:00
2019-02-25 22:03:35 +00:00
2019-02-19 01:49:28 +00:00
2019-01-25 16:31:30 +00:00
2019-01-08 22:26:20 +00:00
2019-01-04 17:58:31 +00:00
2019-01-08 20:39:34 +00:00
2019-09-13 22:26:48 +00:00
2019-09-15 20:39:19 +05:30
2019-09-11 08:24:21 -07:00
2019-03-27 17:15:00 +01:00
2019-09-11 08:47:15 -07:00
2019-01-09 14:56:48 +00:00
2019-09-13 08:23:13 -07:00
2019-01-08 20:48:28 +00:00
2019-01-07 20:48:11 +00:00
2019-03-19 22:34:15 +00:00
2019-08-22 12:30:54 +00:00
2019-01-08 18:17:02 +00:00
2019-09-24 19:25:45 -07:00
2019-02-27 21:57:17 +00:00
2019-09-14 09:39:21 +00:00
2019-10-02 20:26:05 +00:00
2019-03-26 12:58:15 +00:00
2019-03-27 21:02:02 +01:00
2019-04-02 19:09:53 +00:00
2019-02-28 16:24:56 +00:00
2020-04-07 19:30:57 -04:00
2019-01-04 09:45:42 +08:00
2019-02-11 09:21:15 -08:00
2019-01-28 15:09:57 +00:00
2019-02-08 17:12:21 -08:00
2019-05-17 15:04:31 +02:00
2020-04-10 00:49:35 +00:00
2019-03-11 13:18:24 +00:00
2019-03-28 22:07:01 +00:00
2019-07-19 17:53:16 -07:00
2019-08-19 17:00:19 -07:00
2019-09-24 19:22:58 -07:00
2019-07-23 17:21:19 +00:00
2019-08-16 15:20:15 -07:00
2019-03-20 19:17:33 +00:00
2019-03-18 19:03:18 -04:00
2019-09-11 11:04:29 -07:00
2020-02-04 14:21:13 -08:00
2020-07-07 20:40:52 +05:30
2019-06-12 13:34:05 -07:00
2019-07-04 07:55:43 +01:00
2019-09-18 11:43:52 +02:00
2019-09-19 11:10:35 -07:00
2019-08-12 16:41:56 +02:00
2019-08-14 13:16:59 +12:00
2019-08-19 21:06:40 +05:30
2019-09-19 11:27:53 -07:00
2019-09-13 13:55:57 +00:00
2019-09-16 11:27:57 -07:00
2019-09-19 02:48:39 +00:00
2019-09-16 23:19:42 -07:00
2019-09-20 16:15:16 +00:00
2019-09-19 15:39:22 -07:00
2019-12-30 08:57:50 -08:00
2019-12-11 16:07:06 -03:00
2019-12-04 16:42:17 -08:00
2020-01-02 13:44:23 -06:00
2020-01-09 15:55:48 +00:00
2019-12-30 08:49:24 -08:00
2020-01-02 09:24:54 -08:00
2020-06-12 13:52:45 +05:30
2020-05-02 12:34:20 -07:00
2020-05-02 12:34:20 -07:00
2020-04-28 11:45:24 -07:00
2020-05-19 17:35:05 +05:30
2020-05-02 12:34:20 -07:00
2020-05-01 15:48:58 -07:00
2020-10-30 15:49:41 +00:00
2020-05-26 11:00:21 -05:00
2021-03-29 16:21:47 +00:00
2020-07-08 17:30:36 +05:30
2020-08-05 14:25:18 -05:00
2020-09-30 08:27:40 -05:00
2021-11-24 16:09:21 +00:00
2020-11-11 11:01:20 -06:00
2021-01-11 07:52:58 -05:00
2021-05-03 20:40:31 +00:00
2021-08-09 20:40:52 +02:00
2023-12-06 02:09:02 +09:00
2021-12-12 22:55:43 +09:00
2023-03-28 17:51:17 +00:00
2024-08-06 22:45:30 -04:00
2016-02-15 10:55:23 -06:00
2015-11-23 16:29:39 -05:00
2022-01-18 11:41:59 +01:00
2018-06-06 13:00:40 -07:00
2015-12-14 22:27:47 -05:00
2021-02-01 17:36:29 +00:00
2024-09-11 23:28:44 +09:00
2016-01-19 21:45:48 -05:00
2017-11-02 14:59:53 -04:00
2024-03-13 22:09:30 +09:00
2016-05-18 17:33:32 +00:00
2016-05-18 17:33:32 +00:00
2016-05-12 23:30:15 -07:00
2017-01-28 03:01:05 +00:00
2017-02-11 06:01:27 +00:00
2019-04-24 11:51:00 +08:00
2018-07-25 15:01:49 -04:00
2018-10-31 01:13:13 +00:00
2019-07-16 19:31:31 +00:00
2019-08-01 12:07:38 +08:00
2019-02-19 11:09:13 +08:00
2024-08-28 15:54:42 +02:00
2016-03-14 19:04:58 +00:00
2024-02-12 08:41:39 +00:00
2024-09-23 20:01:12 +02:00
2019-10-11 14:12:57 -07:00
2022-05-10 19:30:04 -05:00
2016-03-16 13:27:12 -04:00
2016-03-14 19:04:58 +00:00
2016-03-14 19:04:58 +00:00
2024-01-27 21:02:14 +09:00
2019-04-24 11:51:00 +08:00
2015-12-01 17:32:49 -05:00
2018-06-20 21:18:42 +03:00
2024-07-15 15:19:22 +02:00
2025-08-25 09:21:26 +02:00
2015-12-14 22:27:47 -05:00
2016-08-16 21:47:49 +00:00
2019-09-09 22:07:30 +00:00
2016-01-19 21:26:30 -05:00
2016-03-14 19:04:58 +00:00
2018-03-16 16:04:27 +00:00
2024-06-05 17:16:58 +02:00
2016-03-14 19:04:58 +00:00
2017-08-22 18:54:25 +00:00
2025-11-14 09:13:49 +01:00
2015-12-07 19:30:37 -03:00
2016-02-26 14:19:10 +00:00
2016-03-14 19:04:58 +00:00
2018-06-15 09:05:35 +08:00
2016-03-18 18:15:41 +03:00
2016-01-22 08:25:38 -06:00
2016-08-23 20:52:10 +00:00
2023-02-22 14:43:35 -06:00
2016-03-14 19:04:58 +00:00
2016-03-14 19:04:58 +00:00
2016-03-09 17:20:33 +00:00
2016-08-16 21:26:06 +08:00
2017-08-22 18:54:25 +00:00
2025-01-09 18:51:21 +01:00
2024-11-28 15:14:26 +01:00
2016-09-01 17:15:47 +00:00
2025-03-11 14:20:55 +01:00
2016-06-29 02:24:03 +00:00
2016-08-31 20:14:53 +03:00
2017-10-17 17:56:29 -05:00
2016-03-14 19:04:58 +00:00
2016-05-20 21:54:54 +00:00
2022-10-07 17:56:02 +02:00
2022-01-21 13:39:30 +00:00
2022-01-10 18:31:09 +00:00
2024-10-24 21:30:05 +09:00
2025-06-26 02:16:32 +00:00
2025-01-22 10:16:06 +00:00
2023-02-28 17:26:39 +00:00
2025-01-03 10:36:02 +09:00
2018-05-10 14:40:39 +00:00
2016-02-11 06:39:26 +00:00
2025-05-09 12:31:41 +01:00
2016-01-25 01:08:15 -08:00
2016-05-22 14:39:58 +00:00
2017-01-27 14:36:54 +00:00
2017-05-18 18:08:26 +00:00
2017-12-29 10:10:30 +08:00
2018-07-09 16:13:55 +08:00
2019-01-14 09:38:34 +08:00
2019-07-23 12:45:43 +00:00
2019-11-01 08:57:08 +08:00
2016-03-14 19:04:58 +00:00
2017-08-14 19:01:02 +00:00
2019-10-11 14:13:04 -07:00
2016-01-17 20:42:36 +00:00
2016-03-14 19:04:58 +00:00
2015-11-23 16:29:39 -05:00
2019-03-26 14:40:00 +01:00
2024-09-23 19:59:51 +02:00
2016-08-31 21:28:42 +00:00
2022-06-20 13:29:58 +01:00
2019-02-04 16:17:52 +01:00
2022-10-21 12:36:39 -05:00
2018-01-19 16:17:47 -06:00
2018-02-15 20:38:54 +00:00
2017-08-22 18:54:25 +00:00
2018-10-31 03:29:47 +00:00
2020-02-04 16:24:31 -05:00
2016-05-18 02:38:34 -04:00
2018-07-16 17:33:38 +02:00
2017-02-27 15:27:58 +00:00
2015-11-23 16:29:39 -05:00
2016-03-14 19:04:58 +00:00
2016-03-14 19:04:58 +00:00
2016-03-14 19:04:58 +00:00