From 58ced6287e4647791d6928f31276eb50232b37ae Mon Sep 17 00:00:00 2001 From: dmytro-arkhypenko <150142594+dmytro-arkhypenko@users.noreply.github.com> Date: Mon, 5 May 2025 08:04:24 +0000 Subject: [PATCH] feat(auth): add response interceptor to prompt authorization on 401 status --- src/core/index.js | 2 ++ src/core/plugins/spec/actions.js | 11 +++++++++++ 2 files changed, 13 insertions(+) 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; +};