|
4 | 4 |
|
5 | 5 | **Server Tests:** 40/40 passed (100%) |
6 | 6 | **Client Tests:** 3/4 scenarios passed (9/10 checks passed) |
7 | | -**Auth Tests:** 12/14 scenarios fully passing (178 passed, 1 failed, 1 warning, 85.7% scenarios, 98.9% checks) |
| 7 | +**Auth Tests:** 14/15 scenarios fully passing (196 passed, 0 failed, 1 warning, 93.3% scenarios, 99.5% checks) |
8 | 8 |
|
9 | 9 | ## Server Test Results |
10 | 10 |
|
|
37 | 37 |
|
38 | 38 | ## Auth Test Results (Spring HTTP Client) |
39 | 39 |
|
40 | | -**Status: 178 passed, 1 failed, 1 warning across 14 scenarios** |
| 40 | +**Status: 196 passed, 0 failed, 1 warning across 15 scenarios** |
41 | 41 |
|
42 | 42 | Uses the `client-spring-http-client` module with Spring Security OAuth2 and the [mcp-client-security](https://github.com/springaicommunity/mcp-client-security) library. |
43 | 43 |
|
44 | | -### Fully Passing (12/14 scenarios) |
| 44 | +### Fully Passing (14/15 scenarios) |
45 | 45 |
|
46 | | -- **auth/metadata-default (12/12):** Default metadata discovery |
47 | | -- **auth/metadata-var1 (12/12):** Metadata discovery variant 1 |
48 | | -- **auth/metadata-var2 (12/12):** Metadata discovery variant 2 |
49 | | -- **auth/metadata-var3 (12/12):** Metadata discovery variant 3 |
50 | | -- **auth/scope-from-www-authenticate (13/13):** Scope extraction from WWW-Authenticate header |
51 | | -- **auth/scope-from-scopes-supported (13/13):** Scope extraction from scopes_supported |
52 | | -- **auth/scope-omitted-when-undefined (13/13):** Scope omitted when not defined |
| 46 | +- **auth/metadata-default (13/13):** Default metadata discovery |
| 47 | +- **auth/metadata-var1 (13/13):** Metadata discovery variant 1 |
| 48 | +- **auth/metadata-var2 (13/13):** Metadata discovery variant 2 |
| 49 | +- **auth/metadata-var3 (13/13):** Metadata discovery variant 3 |
| 50 | +- **auth/scope-from-www-authenticate (14/14):** Scope extraction from WWW-Authenticate header |
| 51 | +- **auth/scope-from-scopes-supported (14/14):** Scope extraction from scopes_supported |
| 52 | +- **auth/scope-omitted-when-undefined (14/14):** Scope omitted when not defined |
| 53 | +- **auth/scope-step-up (16/16):** Scope step-up challenge |
53 | 54 | - **auth/scope-retry-limit (11/11):** Scope retry limit handling |
54 | | -- **auth/token-endpoint-auth-basic (17/17):** Token endpoint with HTTP Basic auth |
55 | | -- **auth/token-endpoint-auth-post (17/17):** Token endpoint with POST body auth |
56 | | -- **auth/token-endpoint-auth-none (17/17):** Token endpoint with no client auth |
| 55 | +- **auth/token-endpoint-auth-basic (18/18):** Token endpoint with HTTP Basic auth |
| 56 | +- **auth/token-endpoint-auth-post (18/18):** Token endpoint with POST body auth |
| 57 | +- **auth/token-endpoint-auth-none (18/18):** Token endpoint with no client auth |
| 58 | +- **auth/resource-mismatch (2/2):** Resource mismatch handling |
57 | 59 | - **auth/pre-registration (6/6):** Pre-registered client credentials flow |
58 | 60 |
|
59 | | -### Partially Passing (2/14 scenarios) |
| 61 | +### Partially Passing (1/15 scenarios) |
60 | 62 |
|
61 | | -- **auth/basic-cimd (12/12 + 1 warning):** Basic Client-Initiated Metadata Discovery — all checks pass, minor warning |
62 | | -- **auth/scope-step-up (11/12):** Scope step-up challenge — 1 failure, client does not fully handle scope escalation after initial authorization |
| 63 | +- **auth/basic-cimd (13/13 + 1 warning):** Basic Client-Initiated Metadata Discovery — all checks pass, minor warning |
63 | 64 |
|
64 | 65 | ## Known Limitations |
65 | 66 |
|
66 | 67 | 1. **Client SSE Retry:** Client doesn't parse or respect the `retry:` field, reconnects immediately, and doesn't send Last-Event-ID header |
67 | | -2. **Auth Scope Step-Up:** Client does not fully handle scope step-up challenges where the server requests additional scopes after initial authorization |
68 | | -3. **Auth Basic CIMD:** Minor conformance warning in the basic Client-Initiated Metadata Discovery flow |
| 68 | +2. **Auth Basic CIMD:** Minor conformance warning in the basic Client-Initiated Metadata Discovery flow |
69 | 69 |
|
70 | 70 | ## Running Tests |
71 | 71 |
|
@@ -113,4 +113,3 @@ npx @modelcontextprotocol/conformance@0.1.15 client \ |
113 | 113 | ### High Priority |
114 | 114 | 1. Fix client SSE retry field handling in `HttpClientStreamableHttpTransport` |
115 | 115 | 2. Implement CIMD |
116 | | -3. Implement scope step up |
0 commit comments