diff --git a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js index 8109e2ef..e252bcc2 100644 --- a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js +++ b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js @@ -1,4 +1,5 @@ import { createSelector } from "reselect" +import { specJsonWithResolvedSubtrees } from "../../spec/selectors" import { Map } from "immutable" import { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from "../helpers" @@ -53,7 +54,7 @@ export const hasHost = onlyOAS3((state) => { }) export const securityDefinitions = onlyOAS3(createSelector( - spec, + specJsonWithResolvedSubtrees, spec => spec.getIn(["components", "securitySchemes"]) || null )) diff --git a/src/core/plugins/spec/wrap-actions.js b/src/core/plugins/spec/wrap-actions.js index 69700d62..506e5e9f 100644 --- a/src/core/plugins/spec/wrap-actions.js +++ b/src/core/plugins/spec/wrap-actions.js @@ -22,6 +22,9 @@ export const updateJsonSpec = (ori, {specActions}) => (...args) => { specActions.requestResolvedSubtree(["paths", k]) } }) + + // Trigger resolution of any securitySchemes-level $refs. + specActions.requestResolvedSubtree(["components", "securitySchemes"]) } // Log the request ( just for debugging, shouldn't affect prod )