open-webui/backend/open_webui/models
root 0fe0fcff4d fix: Add proactive OAuth token refresh for MCP sessions
Add a background task that periodically refreshes OAuth tokens before
they expire, preventing users from having to re-authenticate when MCP
OAuth tokens (like Notion) expire after 1 hour.

Changes:
- Add get_expiring_sessions() method to OAuthSessionTable to query
  sessions expiring within a specified time window
- Enhance OAuthClientManager._perform_token_refresh() to handle
  unregistered MCP clients by discovering OAuth info from stored
  tool server config
- Add periodic_oauth_token_refresh() background task that runs every
  5 minutes and refreshes tokens expiring within 10 minutes
- Start the background task in app lifespan with proper cleanup

Fixes #19809
2025-12-08 18:29:07 +11:00
..
auths.py refac: oauth_sub -> oauth migration 2025-11-28 06:39:36 -05:00
channels.py refac 2025-11-30 14:06:16 -05:00
chats.py refac 2025-11-23 19:47:21 -05:00
feedbacks.py refac/fix: chat search null byte filter 2025-11-22 20:34:49 -05:00
files.py refac/fix: chat search null byte filter 2025-11-22 20:34:49 -05:00
folders.py refac/fix: chat search null byte filter 2025-11-22 20:34:49 -05:00
functions.py refac/fix: chat search null byte filter 2025-11-22 20:34:49 -05:00
groups.py refac: db group 2025-11-28 22:48:58 -05:00
knowledge.py refac/perf: has_access_to_file optimization 2025-12-02 11:11:17 -05:00
memories.py refac/fix: chat search null byte filter 2025-11-22 20:34:49 -05:00
messages.py refac 2025-12-03 18:22:00 -05:00
models.py refac 2025-11-30 14:06:16 -05:00
notes.py refac: db 2025-11-28 01:17:43 -05:00
oauth_sessions.py fix: Add proactive OAuth token refresh for MCP sessions 2025-12-08 18:29:07 +11:00
prompts.py Merge pull request #17166 from sihyeonn/perf/sh-model-layer 2025-09-03 13:36:01 +04:00
tags.py refac/enh: add performance indexes 2025-08-19 03:24:10 +04:00
tools.py refac: db 2025-11-28 01:17:43 -05:00
users.py enh: group members endpoint 2025-12-02 11:24:23 -05:00