diff --git a/src/core/index.js b/src/core/index.js index 90d6acb711e..1afa1980863 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -138,6 +138,8 @@ SwaggerUI.config = { typeCastMappings, } +SwaggerUI.config.defaults.autoPromptAuthOn401 = false; + SwaggerUI.presets = { base: BasePreset, apis: ApisPreset, diff --git a/src/core/plugins/spec/actions.js b/src/core/plugins/spec/actions.js index 8ea0c5801b2..22141309578 100644 --- a/src/core/plugins/spec/actions.js +++ b/src/core/plugins/spec/actions.js @@ -529,3 +529,14 @@ export function setScheme (scheme, path, method) { payload: { scheme, path, method } } } + +export const responseInterceptor = (response, system) => { + const { getConfigs, authActions } = system; + const configs = getConfigs(); + + if (configs.autoPromptAuthOn401 && response.status === 401) { + authActions.showDefinitions(true); // Trigger the Authorize modal + } + + return response; +};