rcourtman
b6140cd6e8
feat(oidc): Add refresh token support for long-lived sessions
...
When offline_access scope is configured, Pulse now stores and uses
OIDC refresh tokens to automatically extend sessions. Sessions remain
valid as long as the IdP allows token refresh (typically 30-90 days).
Changes:
- Store OIDC tokens (refresh token, expiry, issuer) alongside sessions
- Automatically refresh tokens when access token nears expiry
- Invalidate session if IdP revokes access (forces re-login)
- Add background token refresh with concurrency protection
- Persist OIDC tokens across restarts
Related to #854
2025-12-20 10:45:46 +00:00
..
2025-12-17 12:47:36 +00:00
2025-12-19 17:04:14 +00:00
2025-12-19 22:49:30 +00:00
2025-12-12 14:49:46 +00:00
2025-12-19 22:49:30 +00:00
2025-10-14 16:48:22 +00:00
2025-12-16 20:10:31 +00:00
2025-12-02 17:21:48 +00:00
2025-12-02 13:19:11 +00:00
2025-12-20 10:45:46 +00:00
2025-12-02 00:51:44 +00:00
2025-11-15 21:49:51 +00:00
2025-12-09 09:29:27 +00:00
2025-12-01 23:50:10 +00:00
2025-10-25 16:00:37 +00:00
2025-12-01 14:46:00 +00:00
2025-12-02 17:21:48 +00:00
2025-12-02 17:21:48 +00:00
2025-12-01 14:09:35 +00:00
2025-12-02 13:36:23 +00:00
2025-11-17 14:25:46 +00:00
2025-11-17 14:25:46 +00:00
2025-12-14 10:16:17 +00:00
2025-12-02 14:07:00 +00:00
2025-12-12 11:05:24 +00:00
2025-12-01 23:24:06 +00:00
2025-11-06 13:48:28 +00:00
2025-12-02 17:21:48 +00:00
2025-12-18 21:51:25 +00:00
2025-10-11 23:29:47 +00:00
2025-11-29 17:06:18 +00:00
2025-12-19 17:57:04 +00:00
2025-12-18 22:22:55 +00:00
2025-12-02 03:16:52 +00:00
2025-11-06 13:54:26 +00:00
2025-12-10 00:29:07 +00:00
2025-12-02 00:49:16 +00:00
2025-12-02 16:47:13 +00:00
2025-12-10 00:29:07 +00:00
2025-11-30 02:48:05 +00:00
2025-10-21 12:37:39 +00:00
2025-12-12 21:31:11 +00:00
2025-12-19 22:49:30 +00:00
2025-12-19 22:59:52 +00:00
2025-12-12 11:05:24 +00:00
2025-12-10 00:29:07 +00:00
2025-12-01 23:52:21 +00:00
2025-11-27 08:34:31 +00:00
2025-12-02 16:47:13 +00:00
2025-11-29 22:03:15 +00:00
2025-12-02 16:37:30 +00:00
2025-12-01 23:08:36 +00:00
2025-12-20 10:45:46 +00:00
2025-12-02 01:00:06 +00:00
2025-12-20 10:45:46 +00:00
2025-12-02 17:21:48 +00:00
2025-12-19 14:51:52 +00:00
2025-11-30 04:33:59 +00:00
2025-12-02 15:58:59 +00:00
2025-10-11 23:29:47 +00:00
2025-12-02 01:36:21 +00:00
2025-12-12 11:05:24 +00:00
2025-12-07 14:47:29 +00:00
2025-12-01 21:33:45 +00:00
2025-11-24 15:16:14 +00:00
2025-12-17 20:09:51 +00:00
2025-12-02 17:21:48 +00:00
2025-12-20 10:45:46 +00:00
2025-12-19 22:49:30 +00:00
2025-11-27 10:12:48 +00:00
2025-12-02 00:13:32 +00:00
2025-12-13 21:22:04 +00:00
2025-12-02 13:51:27 +00:00
2025-12-02 00:19:20 +00:00
2025-12-02 14:41:53 +00:00
2025-12-12 11:05:24 +00:00
2025-12-18 21:51:25 +00:00
2025-12-20 10:45:46 +00:00
2025-12-02 14:12:32 +00:00
2025-12-20 10:45:46 +00:00
2025-11-18 21:30:04 +00:00
2025-12-01 01:05:07 +00:00
2025-11-29 21:47:22 +00:00
2025-12-02 16:47:13 +00:00
2025-12-02 11:38:47 +00:00
2025-11-30 14:07:04 +00:00
2025-12-02 16:47:13 +00:00
2025-12-09 09:29:27 +00:00
2025-12-12 09:45:57 +00:00
2025-11-30 15:05:37 +00:00
2025-12-17 17:22:51 +00:00
2025-12-19 22:49:30 +00:00
2025-12-02 16:47:13 +00:00