-
Notifications
You must be signed in to change notification settings - Fork 38
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
Currently, the OpenAPI converter only processes standard OpenAPI security schemes, which limits flexibility for UTCP-specific authentication requirements. Users need a way to specify authentication configuration that will be properly recognized and applied to generated UTCP tools without requiring complex environment variable management.
Current Limitations
- Rigid Authentication: OpenAPI converter relies solely on security schemes defined in the spec
- Environment Variable Complexity: Users must manage complex variable substitution for different authentication scenarios
- Limited Flexibility: No way to override or customize authentication for specific use cases
- Plugin Inconsistency: Different authentication approaches across HTTP and text plugins
Proposed Solution
Introduce an auth_tools field that allows users to:
- Specify Custom Authentication: Define authentication independently of OpenAPI security schemes
- Selective Application: Apply authentication only to compatible endpoints
- Maintain Compatibility: Preserve existing behavior for public endpoints
- Cross-Plugin Consistency: Unified authentication approach across HTTP and text plugins
Use Cases
- API Key Override: Use different API keys than those specified in OpenAPI spec
- Local OpenAPI Files: Apply authentication to tools generated from local specs (text plugin)
- Development/Testing: Easy switching between different authentication configurations
- Multi-Environment: Different auth configs for dev/staging/prod without spec changes
Expected Behavior
{
"name": "my_api",
"call_template_type": "http",
"url": "https://api.example.com/openapi.json",
"auth_tools": {
"auth_type": "api_key",
"api_key": "Bearer ${API_TOKEN}",
"var_name": "Authorization",
"location": "header"
}
}This would apply the specified authentication to all compatible tools generated from the OpenAPI spec, while leaving public endpoints unchanged.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request