Add security schemes filter normalizer option#23174
Add security schemes filter normalizer option#23174limentas wants to merge 5 commits intoOpenAPITools:masterfrom
Conversation
Add test for it Optimize old filter logic
|
I found one logging issue and I would like to fix it since I touched this code. The problem is normalizer logs message like |
|
thanks for the draft. please put it on hold for the time being |
This PR adds new normalizer option to remove unnecessary security schemes. I have decided to make it similar to
FILTERoption to have this functionality more universal and allow to filter schemes by name and by type.I have tried to follow DRY principle and uniform the logic with current
FILTERimplementation that's why it required to touch existent logic.I have also moved
FILTERparse logic outside loop to not repeat it every iteration.TODO:
SET_BEARER_AUTH_FOR_NAMEoptionmarked as internal only (x-internal: true) by the {} filterResolves #22954
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)"fixes #123"present in the PR description)Summary by cubic
Adds
SECURITY_SCHEMES_FILTERto filtercomponents.securitySchemesby key or type and mark non-matching ones as internal, reducing unused auth configs. Also refactors operation filtering to be faster and easier to extend. Resolves #22954.New Features
SECURITY_SCHEMES_FILTERacceptskey:and/ortype:(e.g.,key:api_key1|api_key2;type:oauth2); others getx-internal: true.SET_BEARER_AUTH_FOR_NAME: conversion to HTTP bearer happens before filtering.docs/customization.md.Refactors
OperationsFilterand introduces sharedBaseFilterused by both operations and security-schemes filters.FILTERonce per normalization and improves error messages with clear usage and input.Written for commit 9ce866a. Summary will update on new commits.