This is an automated email from the ASF dual-hosted git repository.

FreeOnePlus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-mcp-server.git


The following commit(s) were added to refs/heads/master by this push:
     new 7171da2  chore(deps): bump pyjwt from 2.10.1 to 2.13.0 (#193)
7171da2 is described below

commit 7171da2f451df13dfc7ed70bef6dd8e702fa8e1a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sat Aug 1 13:44:07 2026 +0800

    chore(deps): bump pyjwt from 2.10.1 to 2.13.0 (#193)
    
    * chore(deps): bump pyjwt from 2.10.1 to 2.13.0
    
    Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.1 to 2.13.0.
    - [Release notes](https://github.com/jpadilla/pyjwt/releases)
    - [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
    - [Commits](https://github.com/jpadilla/pyjwt/compare/2.10.1...2.13.0)
    
    ---
    updated-dependencies:
    - dependency-name: pyjwt
      dependency-version: 2.13.0
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    * fix: support PyJWT 2.13 typing
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: FreeOnePlus <[email protected]>
---
 CHANGELOG.md                         | 3 +++
 doris_mcp_server/auth/jwt_manager.py | 7 ++++---
 uv.lock                              | 6 +++---
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b718fbb..db0de65 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -65,6 +65,9 @@ under **Unreleased** until a new version is selected and 
published.
 
 ### Fixed
 
+- Updated JWT decoding type contracts for PyJWT 2.13 while preserving the
+  existing signature, claim, audience, issuer, and unsafe-debug validation
+  behavior.
 - Documented the strict `/mcp` versus `/mcp/legacy` endpoint boundary in the
   protocol, Host, quick-start, deployment, troubleshooting, migration, and
   release guides without restoring pre-1.0 tool names or weakening security.
diff --git a/doris_mcp_server/auth/jwt_manager.py 
b/doris_mcp_server/auth/jwt_manager.py
index 0d25fc9..f7bd8d3 100644
--- a/doris_mcp_server/auth/jwt_manager.py
+++ b/doris_mcp_server/auth/jwt_manager.py
@@ -23,10 +23,11 @@ Provides comprehensive JWT token management including 
generation, validation, re
 import asyncio
 import time
 import uuid
-from typing import Any, cast
+from typing import Any
 
 try:
     import jwt
+    from jwt.types import Options
 except ImportError:
     raise ImportError("PyJWT is required for JWT functionality. Install with: 
pip install PyJWT[crypto]")
 
@@ -243,7 +244,7 @@ class JWTManager:
                 security_config = self.config
 
             # JWT decoding options
-            options = {
+            options: Options = {
                 'verify_signature': security_config.jwt_verify_signature,
                 'verify_exp': security_config.jwt_require_exp,
                 'verify_iat': security_config.jwt_require_iat,
@@ -377,7 +378,7 @@ class JWTManager:
         """
         try:
             payload = jwt.decode(token, options={'verify_signature': False})
-            return cast(dict[str, Any], payload)
+            return payload
         except Exception as e:
             logger.error(f"Failed to decode token: {e}")
             raise
diff --git a/uv.lock b/uv.lock
index 8486a54..1ed13c0 100644
--- a/uv.lock
+++ b/uv.lock
@@ -2036,11 +2036,11 @@ wheels = [
 
 [[package]]
 name = "pyjwt"
-version = "2.10.1"
+version = "2.13.0"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz";,
 hash = 
"sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size 
= 87785, upload-time = "2024-11-28T03:43:29.933Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz";,
 hash = 
"sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size 
= 107515, upload-time = "2026-05-21T19:54:36.618Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl";,
 hash = 
"sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size 
= 22997, upload-time = "2024-11-28T03:43:27.893Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl";,
 hash = 
"sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size 
= 31274, upload-time = "2026-05-21T19:54:35.362Z" },
 ]
 
 [package.optional-dependencies]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to