Skip to content

Conversation

@abdebek
Copy link
Owner

@abdebek abdebek commented Dec 13, 2025

  • Add documentation for client-credentials auth, simple token wiring, device-code usage, and pass-through behavior to both READMEs.
  • Improve OpenAPI 3.1 support by downgrading 3.1-only constructs to 3.0.3 before parsing; include local bank OpenAPI spec in tests and add
    coverage for file-based loading.
  • Expand auth test coverage: encrypted token store round-trip, client-credentials cache/refresh behaviors, and ensure local specs are
    discoverable.

- Enhanced README.md to provide clearer instructions and details about the sample application, including OAuth 2.0 integration and transport modes.
- Introduced a new Worker class to manage OpenIddict application setup and ensure database creation.
- Updated appsettings files to include BaseUrl and OAuthBaseUrl configurations for development and production environments.
- Modified sample-api.json to reflect a more relevant API structure and removed unused endpoints.
- Added InMemoryTokenStore for testing purposes, allowing secure token storage during integration tests.
- Implemented OAuth metadata and middleware tests to ensure proper handling of authentication flows and token validation.
- Created MockMcpContextAccessor to facilitate testing by simulating context access.
- Refactored OAuth authentication tests to utilize the new token store and context accessor.
- Developed OpenApiOAuthParserTests to validate the parsing of OpenAPI documents for OAuth configurations.
- Established a comprehensive refactoring plan for the MCPify authentication system, focusing on core abstractions, secure persistence, and robust OAuth 2.0 implementation.
…fallback; update README for troubleshooting guidance
…ADME; enhance service-to-service authentication guidance
…traction; add unit tests for OpenApi provider functionality

- support safe downgrade openapi version 3.1 to 3.0
…ade logic

Fallback Mechanism: Updated ParseWithFallback to catch general OpenApiException (e.g., "Cannot create scalar value"), ensuring the downgrade logic triggers even when the reader crashes on valid 3.1 syntax.

Recursive Schema Transformation: Added DowngradeSchemaFeatures to programmatically transform OpenAPI 3.1 constructs into 3.0 compatible equivalents:

Nullable Types: Converts type: ["string", "null"] arrays to type: "string", nullable: true.

Exclusive Ranges: Converts numeric exclusiveMinimum/exclusiveMaximum values to the 3.0 boolean format (minimum: N, exclusiveMinimum: true).

Const Values: Transforms const values into single-value enum arrays.

Examples: Maps the 3.1 examples array to the 3.0 example field.

Cleanup: Explicitly removes 3.1-only root properties (jsonSchemaDialect, webhooks) to prevent validation warnings.
@abdebek abdebek merged commit 29efee2 into main Dec 13, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants