Take the schemes from the first input that declares any, and drop the rest.
The behaviour before issue #33. Correct for the API-gateway case, and wrong for anyone merging peer services: a later input's operations survive while the schemes they require do not, producing a document that references a scheme it never defines.
Combine them, exactly as every other component bucket is combined: identical definitions collapse, differing ones are renamed using the input's dispute prefix or a numeric suffix, and every security requirement naming a renamed scheme is rewritten to match.
Combine them, but refuse when two inputs define the same scheme name differently.
For people who would rather be told than have oauth2 and oauth21
silently appear in their output. Identical definitions still collapse
quietly — that is not a conflict, it is agreement.
How
components.securitySchemesis combined across inputs (issue #33).Unlike the other component buckets, this one has a defensible argument on both sides, which is why it is configurable rather than simply fixed:
oauth2in a document that does not defineoauth2is invalid.serversStrategydefault to'first'.