fastmcp/tests/server
Jeremiah Lowin 9c21754a45
Fix Azure provider OIDC scope handling (#2506)
* Fix Azure provider to handle OIDC scopes correctly

OIDC scopes (openid, profile, email, offline_access) were being
incorrectly prefixed with identifier_uri, causing Azure to reject
authorization requests. This fix:

- Detects OIDC scopes and sends them unprefixed to Azure
- Filters OIDC scopes from token validation (Azure doesn't include
  them in access token scp claims)
- Still advertises OIDC scopes to clients via valid_scopes
- Also handles dot-notation scopes (e.g., User.Read) correctly

Fixes #2451, #2420

* Fix dot-notation scopes to be prefixed (custom scopes can have dots)

* Improve Azure scope handling docs with clear examples
2025-12-01 13:42:36 -05:00
..
auth Fix Azure provider OIDC scope handling (#2506) 2025-12-01 13:42:36 -05:00
http Fix get_access_token() returning stale token after OAuth refresh (#2505) 2025-12-01 10:51:02 -05:00
middleware Actually update lockfile, ignore caching diskstore cleanup 2025-11-17 12:03:24 -06:00
openapi Upgrade to MCP 1.17+ with RFC 9728 compliance (#2122) 2025-10-17 09:29:23 -04:00
proxy Add icons support to proxy classes (#2502) 2025-12-01 08:55:51 -05:00
__init__.py restore 1.x code 2025-04-09 11:54:42 -04:00
test_app_state.py Update docs and test 2025-06-20 13:06:48 -04:00
test_auth_integration.py Fix type errors in oauth_proxy and test_auth_integration 2025-11-15 12:21:15 -05:00
test_context.py Add meta to call tool (#2206) 2025-11-04 10:25:52 -05:00
test_experimental_openapi_feature_flag.py Introduce experimental OpenAPI parser with improved performance and maintainability (#1209) 2025-07-21 16:17:36 -04:00
test_file_server.py Internal refactor of MCP handlers (#2005) 2025-10-05 08:45:10 -04:00
test_icons.py Implement icon support (#2121) 2025-10-17 17:28:08 -04:00
test_import_server.py Enable more type checking rules (#1775) 2025-09-07 11:11:44 -04:00
test_input_validation.py Add Pydantic-compatible input validation (#2073) 2025-10-14 11:49:30 -07:00
test_log_level.py Add log level support for stdio and HTTP transports (#1840) 2025-09-19 13:46:30 -04:00
test_logging.py Use anyio.event 2025-05-31 18:12:17 -04:00
test_mount.py Switch Lifespan to being a Server Lifespan (#2013) 2025-10-14 11:49:53 -07:00
test_resource_prefix_formats.py Update tests 2025-06-19 14:05:19 -04:00
test_run_server.py Update tests for prompts 2025-06-04 16:37:41 -04:00
test_server.py Fix test regex pattern for updated error message 2025-11-15 12:32:37 -05:00
test_server_interactions.py Add meta support to ToolResult (#2283) 2025-11-02 16:46:52 -05:00
test_server_lifespan.py Switch Lifespan to being a Server Lifespan (#2013) 2025-10-14 11:49:53 -07:00
test_streamable_http_no_redirect.py Improve redirect handling to address 307's (#1387) 2025-08-08 11:55:30 -04:00
test_tool_annotations.py Internal refactor of MCP handlers (#2005) 2025-10-05 08:45:10 -04:00
test_tool_exclude_args.py Fix exclude_args with non-serializable types 2025-11-17 12:25:43 -05:00
test_tool_transformation.py Internal refactor of MCP handlers (#2005) 2025-10-05 08:45:10 -04:00