@redocly/revel-reef 0.109.5 → 0.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli/build.d.ts.map +1 -1
  4. package/dist/cli/build.js +1 -1
  5. package/dist/cli/build.js.map +1 -1
  6. package/dist/cli/prepare/index.d.ts.map +1 -1
  7. package/dist/cli/prepare/index.js +1 -1
  8. package/dist/cli/prepare/index.js.map +1 -1
  9. package/dist/cli/telemetry/otel/telemetry.d.ts.map +1 -1
  10. package/dist/cli/telemetry/otel/telemetry.js +1 -1
  11. package/dist/cli/telemetry/otel/telemetry.js.map +1 -1
  12. package/dist/client/App.d.ts.map +1 -1
  13. package/dist/client/App.js +1 -1
  14. package/dist/client/App.js.map +1 -1
  15. package/dist/server/entitlements/constants.d.ts.map +1 -1
  16. package/dist/server/entitlements/constants.js +1 -1
  17. package/dist/server/entitlements/constants.js.map +1 -1
  18. package/dist/server/entitlements/entitlements-provider.d.ts.map +1 -1
  19. package/dist/server/entitlements/entitlements-provider.js +1 -1
  20. package/dist/server/entitlements/entitlements-provider.js.map +1 -1
  21. package/dist/server/entitlements/entitlements.types.d.ts +3 -1
  22. package/dist/server/entitlements/entitlements.types.d.ts.map +1 -1
  23. package/dist/server/entitlements/entitlements.types.js +1 -1
  24. package/dist/server/entitlements/entitlements.types.js.map +1 -1
  25. package/dist/server/plugins/config-parser/loaders/redocly-config-loader.js +1 -1
  26. package/dist/server/plugins/config-parser/loaders/redocly-config-loader.js.map +1 -1
  27. package/dist/server/plugins/default-theme/index.js +1 -1
  28. package/dist/server/plugins/scorecard/compute-scorecard.d.ts +1 -1
  29. package/dist/server/plugins/scorecard/compute-scorecard.d.ts.map +1 -1
  30. package/dist/server/plugins/scorecard/compute-scorecard.js +4 -4
  31. package/dist/server/plugins/scorecard/compute-scorecard.js.map +1 -1
  32. package/dist/server/plugins/scorecard/get-scorecard-config.d.ts +1 -0
  33. package/dist/server/plugins/scorecard/get-scorecard-config.d.ts.map +1 -1
  34. package/dist/server/plugins/scorecard/loaders/scorecard.d.ts.map +1 -1
  35. package/dist/server/plugins/scorecard/loaders/scorecard.js +1 -1
  36. package/dist/server/plugins/scorecard/loaders/scorecard.js.map +1 -1
  37. package/dist/server/plugins/search/index.js +1 -1
  38. package/dist/server/plugins/search/index.js.map +1 -1
  39. package/dist/server/plugins/sso/index.js +1 -1
  40. package/dist/server/store.d.ts +1 -1
  41. package/dist/server/store.js +1 -1
  42. package/dist/server/web-server/middleware/authMiddleware.js +1 -1
  43. package/dist/server/web-server/middleware/responseHeadersMiddleware.d.ts.map +1 -1
  44. package/dist/server/web-server/middleware/responseHeadersMiddleware.js +1 -1
  45. package/dist/server/web-server/middleware/responseHeadersMiddleware.js.map +1 -1
  46. package/dist/server/web-server/routes/auth.d.ts.map +1 -1
  47. package/dist/server/web-server/routes/auth.js +1 -1
  48. package/dist/server/web-server/routes/auth.js.map +1 -1
  49. package/dist/server/web-server/routes/page-data.js +1 -1
  50. package/dist/server/web-server/utils/get-redirect-login-url.js +1 -1
  51. package/dist/server/web-server/utils.d.ts +2 -2
  52. package/dist/server/web-server/utils.js +1 -1
  53. package/package.json +6 -6
@@ -1 +1 @@
1
- import v from"@markdoc/markdoc";import{mapObject as C}from"../shared/jsUtils.js";import{DEFAULT_LOCALE_PLACEHOLDER as u}from"../shared/constants.js";import{resolveAuthConfig as b}from"./plugins/config-parser/resolve-auth-config.js";import{logger as g,readEnvVariable as A,sha1 as M,writeEnvVariable as p,writeSharedData as _}from"./utils/index.js";import{renderComponents as E}from"./ssr/render.js";import{getPathnameForLocale as O}from"../shared/urls.js";import{readStaticData as L,writeStaticData as B}from"./utils/static-data.js";import{DEFAULT_PROVIDERS_LOGIN_URLS as D,DEFAULT_TITLE as T}from"./constants.js";import{parseAndResolveMarkdoc as k}from"./plugins/markdown/compiler.js";import{getMarkdocOptions as F}from"./plugins/markdown/markdoc/markdoc-options.js";import{normalizeRouteSlug as S,removeTrailingSlash as G}from"../shared/utils.js";import{EntitlementsProvider as I}from"./entitlements/entitlements-provider.js";import{Feature as N}from"./entitlements/entitlements.types.js";import{isL10nPath as H}from"./fs/utils/is-l10n-path.js";import{resolveMetadataGlobs as q}from"./utils/globs.js";const y={routesBySlug:"map",apiRoutesBySlug:"map",middleware:"object",routesByFsPath:"map",routesSharedData:"map",globalData:"object",config:"object",ssr:"object",searchFacets:"map"},f="markdown/partials",R="PLAN_GATES";class w{routesBySlug=new Map;lifecycleContext;newRoutes=[];_sharedDataHashes={};routesByFsPath=new Map;apiRoutesBySlug=new Map;middleware=[];routesSharedData=new Map;sharedDataDeps=new Map;sharedDataMarkdocComponents=new Map;routesDynamicComponents=new Map;ssr={preBodyTags:[],postBodyTags:[],headTags:[]};searchFacets=new Map;searchEngine;templates=new Map;browserPlugins=new Set;loginUrls={...D};apiRequestHandlers=new Map;serverPropsGetters=new Map;esbuildPlugins=[];listeners=new Map;globalData={};cliOptions={};_markdocOptions=void 0;config={configFilePath:"",redirects:{},rbac:{},directoryPermissions:{},devLogin:!1,ssoOnPrem:{}};ssoOnPrem={};_contentDir;serverMode;serverOutDir;outdir;renderMode;buildRevision=0;hasSitemap=!1;_resolveUserCodeReady;userCodeReady;_pluginsRunning=Promise.resolve();_resolvePluginsRunning;_queuedLifecycleEvents=new Map;constructor({outdir:e,renderMode:s="thread_worker",contentDir:t,serverMode:a=!1,serverOutDir:r}){this._contentDir=t,this.outdir=e,this.serverMode=a,this.renderMode=s,this.serverOutDir=r,this.userCodeReady=new Promise(n=>{this._resolveUserCodeReady=n})}on(e,s){const t=this.listeners.get(e);t?t.add(s):this.listeners.set(e,new Set([s]))}queueEvent=(e,s,...t)=>{this._queuedLifecycleEvents.set(e+String(s),[e,s,...t])};runListeners=(e,s,...t)=>{for(const a of this.listeners.get(e)||new Set)s?a(s,...t):a(...t)};startPluginsRun(){this.clear(),this._pluginsRunning=new Promise(e=>{this._resolvePluginsRunning=e})}waitForPluginsLifecycle(){return this._pluginsRunning}finishPluginsRun(){this._resolvePluginsRunning?.();for(const e of this._queuedLifecycleEvents.values())this.runListeners(...e);this._queuedLifecycleEvents.clear()}get contentDir(){if(this.serverMode)throw new Error("contentDir should not be used in server mode");return this._contentDir}loadEnvConfig(e=!0){this.ssoOnPrem=b(this.config.ssoOnPrem,e),p("REDOCLY_GLOBAL_PERMISSION",this.getGlobalConfig("rootPermission"))}addEsbuildPlugin(e){this.esbuildPlugins.push(e)}markUserCodeReady(){this._resolveUserCodeReady?.(!0)}async reloadMarkdocOptions(){this._markdocOptions=await F(this.serverOutDir)}get markdocOptions(){return{...this._markdocOptions,partials:this.getGlobalConfig(f),themeConfig:this.config.markdown}}setGlobalData=e=>{const s=this.globalData,t={...this.globalData,...e};this.globalData=t,JSON.stringify(t)!==JSON.stringify(s)&&this.queueEvent("global-data-updated",void 0,t)};getGlobalData=()=>this.globalData;parseMarkdoc=async(e,s,t)=>{const{data:{info:a,ast:r},compoundHash:n}=await k(e,this.markdocOptions,{actions:this,context:s});for(const d of a.sharedDataDeps||[]){for(const o of t?.routeSlugs||[])this.addRouteSharedData(o,d,d);for(const o of t?.sharedDataIds||[]){const i=this.sharedDataDeps.get(o)||new Set;i.add(d),this.sharedDataDeps.set(o,i)}}for(const d of a.dynamicMarkdocComponents||[]){for(const o of t?.routeSlugs||[]){const i=this.routesDynamicComponents.get(o)||new Set;i.add(d),this.routesDynamicComponents.set(o,i)}for(const o of t?.sharedDataIds||[]){const i=this.sharedDataMarkdocComponents.get(o)||new Set;i.add(d),this.sharedDataMarkdocComponents.set(o,i)}}return{info:a,ast:r,compoundHash:n}};async loadOpenApiDefinitions(e){return(await e.cache.load(".","load-oas-docs")).data}setSearchEngine(e){this.searchEngine=e}setSearchFacets=e=>{this.searchFacets=e};setCliOptions(e){this.cliOptions={...this.cliOptions,...e}}setGlobalConfig=e=>{this.config={...this.config,...e}};getConfig=()=>this.config;getGlobalConfig=e=>this.config[e];getSearchFacets=()=>this.searchFacets;addRedirect(e,s){!I.instance().canAccessFeature(N.Redirects)&&e!=="/"||(this.config.redirects||(this.config.redirects={}),this.config.redirects[S(e)]=s)}createSharedData=async(e,s,t)=>{if(t&&this._sharedDataHashes[e]===t)return e;const a=JSON.stringify(s),r=t??M(a);return this._sharedDataHashes[e]===r||(this._sharedDataHashes[e]=r,await _(e,a,this.outdir),this.queueEvent("shared-data-updated",e)),e};addRouteSharedData=(e,s,t)=>{const a=G(e),r=this.routesSharedData.get(a)||{};r[s]=t,this.routesSharedData.set(a,r),g.verbose(`Adding shared data to ${e}, ${s}, ${t}`)};addRoute=e=>{const t={...q(e.fsPath,this.config.metadataGlobs),...e.metadata||{}};this.newRoutes.push({...e,metadata:t}),g.verbose("Created route %s",e.slug)};addRouteSharedDataToAllLocales=(e,s,t)=>{const a=[u,...this.lifecycleContext?.fs.localeFolders||[]].map(r=>({code:r,name:r}));for(const r of a){const n=O(e,u,r.code,a);this.addRouteSharedData(n,s,t)}};addApiRoute=e=>{this.apiRoutesBySlug.set(e.slug,e),g.verbose("Created API route %s",e.slug)};addMiddleware=e=>{this.middleware.push(e),g.verbose("Created middleware %s",e.id)};addCustomSsoProvider=e=>{this.loginUrls[e.type]=e.loginUrl;for(const s of e.apiRoutes){const t=s.route.slug;this.createRequestHandler(t,s.handlerImportPath),this.addApiRoute({...s.route,requestHandlerId:t})}};getLoginUrls=()=>this.loginUrls;getRouteByFsPath=e=>{const s=this.routesByFsPath.get(e);return s?this.getRouteBySlug(s):void 0};getRouteBySlug=(e,s={})=>{const{followRedirect:t=!0}=s,a=this.config.redirects?.[e];return t&&a?.to?this.routesBySlug.get(S(a.to)):this.routesBySlug.get(e)};getAllRoutesForLocale=(e=u)=>{const s=Array.from(this.routesBySlug.values()),t=e.toLowerCase();return s.filter(a=>e===u?!H(a.fsPath):a.slug.startsWith(`/${t}`))};getAllRoutes=()=>Array.from(this.routesBySlug.values());getApiRouteBySlug=e=>this.apiRoutesBySlug.get(e);getAllApiRoutes=()=>Array.from(this.apiRoutesBySlug.values());getAllMiddleware=()=>this.middleware;getTemplate=e=>this.templates.get(e);getRequestHandler=e=>this.apiRequestHandlers.get(e);createTemplate=(e,s)=>(this.templates.set(e,s),e);addBrowserPlugin=e=>{this.browserPlugins.add(e)};createRequestHandler=(e,s)=>(this.apiRequestHandlers.set(e,s),e);registerServerPropsGetter=(e,s)=>(this.serverPropsGetters.set(e,s),e);async writeRouteStaticData(e,s){const t=await this.resolveRouteStaticData(e,s,!1);t&&B(e.slug,t,this.outdir)}async resolveRouteStaticData(e,s,t){if(this.serverMode)return L(e.slug,this.outdir);const a={...this,contentDir:this.contentDir,parseMarkdoc:(c,l)=>this.parseMarkdoc(c,l,{routeSlugs:[e.slug]})},r=await e.getStaticData?.(e,a)||{},n=new Set(this.routesDynamicComponents.get(e.slug)),d=this.routesSharedData.get(e.slug)||{};for(const c of Object.values(d)){const l=this.sharedDataMarkdocComponents.get(c);l&&l.forEach(h=>n.add(h));const m=this.sharedDataDeps.get(c);m&&m.forEach(h=>this.addRouteSharedData(e.slug,h,h))}const o=this.getGlobalConfig("seo"),i=r?.frontmatter||{};return{...r,frontmatter:{...i,seo:{...i?.seo,title:i?.seo?.title||await e.getNavText?.()}},props:{...r.props,dynamicMarkdocComponents:Array.from(n),metadata:e.metadata,seo:{title:T,...o,...r.props?.seo}},lastModified:t||!e.fsPath?null:await this.lifecycleContext?.fs.getLastModified(e.fsPath)}}addSsrComponents(e,s){if(!e?.length)return;const t=typeof e[0]=="string"?e.join(""):E(e);t&&(s==="head"?this.ssr.headTags.push(t):s==="preBody"?this.ssr.preBodyTags.push(t):this.ssr.postBodyTags.push(t))}clear=()=>{this.routesByFsPath.clear(),this.newRoutes=[],this.routesBySlug.clear(),this.apiRoutesBySlug.clear(),this.middleware=[],this.loginUrls={...D},this.routesSharedData.clear(),this.sharedDataDeps.clear(),this.sharedDataMarkdocComponents.clear(),this.routesDynamicComponents.clear(),this.config.redirects={},this.config.directoryPermissions={},this.ssr={preBodyTags:[],postBodyTags:[],headTags:[]}};toJson(){const e=Object.fromEntries(Object.entries(y).map(([s,t])=>{switch(t){case"map":const a=Array.from(this[s].entries());return[s,a];case"object":return[s,this[s]];default:throw new Error("Invalid format")}}));return e[R]=A("PLAN_GATES"),e}static fromJson(e,s){const t=new w(s);for(const[r,n]of Object.entries(y))switch(n){case"map":t[r]=new Map(e[r]);break;case"object":t[r]=e[r];break;default:throw new Error("Invalid format")}t.config[f]=U(t.config[f]||{});const a=e[R];return a&&p("PLAN_GATES",a),t.loadEnvConfig(),t}}function U(P){return C(P,e=>v.Ast.fromJSON(JSON.stringify(e)))}export{f as MARKDOC_PARTIALS_DATA_KEY,w as Store};
1
+ import P from"@markdoc/markdoc";import{mapObject as C}from"../shared/jsUtils.js";import{DEFAULT_LOCALE_PLACEHOLDER as u}from"../shared/constants.js";import{resolveAuthConfig as b}from"./plugins/config-parser/resolve-auth-config.js";import{logger as g,readEnvVariable as A,sha1 as M,writeEnvVariable as m,writeSharedData as _}from"./utils/index.js";import{renderComponents as E}from"./ssr/render.js";import{getPathnameForLocale as L}from"../shared/urls.js";import{readStaticData as O,writeStaticData as B}from"./utils/static-data.js";import{DEFAULT_PROVIDERS_LOGIN_URLS as D,DEFAULT_TITLE as T}from"./constants.js";import{parseAndResolveMarkdoc as k}from"./plugins/markdown/compiler.js";import{getMarkdocOptions as F}from"./plugins/markdown/markdoc/markdoc-options.js";import{normalizeRouteSlug as S,removeTrailingSlash as G}from"../shared/utils.js";import{EntitlementsProvider as I}from"./entitlements/entitlements-provider.js";import{Feature as N}from"./entitlements/entitlements.types.js";import{isL10nPath as H}from"./fs/utils/is-l10n-path.js";import{resolveMetadataGlobs as q}from"./utils/globs.js";const y={routesBySlug:"map",apiRoutesBySlug:"map",middleware:"object",routesByFsPath:"map",routesSharedData:"map",globalData:"object",config:"object",ssr:"object",searchFacets:"map"},f="markdown/partials",R="PLAN_GATES";class w{routesBySlug=new Map;lifecycleContext;newRoutes=[];_sharedDataHashes={};routesByFsPath=new Map;apiRoutesBySlug=new Map;middleware=[];routesSharedData=new Map;sharedDataDeps=new Map;sharedDataMarkdocComponents=new Map;routesDynamicComponents=new Map;ssr={preBodyTags:[],postBodyTags:[],headTags:[]};searchFacets=new Map;searchEngine;templates=new Map;browserPlugins=new Set;loginUrls={...D};apiRequestHandlers=new Map;serverPropsGetters=new Map;esbuildPlugins=[];listeners=new Map;globalData={};cliOptions={};_markdocOptions=void 0;config={configFilePath:"",redirects:{},rbac:{},directoryPermissions:{},devLogin:!1,ssoDirect:{}};ssoDirect={};_contentDir;serverMode;serverOutDir;outdir;renderMode;buildRevision=0;hasSitemap=!1;_resolveUserCodeReady;userCodeReady;_pluginsRunning=Promise.resolve();_resolvePluginsRunning;_queuedLifecycleEvents=new Map;constructor({outdir:e,renderMode:s="thread_worker",contentDir:t,serverMode:a=!1,serverOutDir:r}){this._contentDir=t,this.outdir=e,this.serverMode=a,this.renderMode=s,this.serverOutDir=r,this.userCodeReady=new Promise(n=>{this._resolveUserCodeReady=n})}on(e,s){const t=this.listeners.get(e);t?t.add(s):this.listeners.set(e,new Set([s]))}queueEvent=(e,s,...t)=>{this._queuedLifecycleEvents.set(e+String(s),[e,s,...t])};runListeners=(e,s,...t)=>{for(const a of this.listeners.get(e)||new Set)s?a(s,...t):a(...t)};startPluginsRun(){this.clear(),this._pluginsRunning=new Promise(e=>{this._resolvePluginsRunning=e})}waitForPluginsLifecycle(){return this._pluginsRunning}finishPluginsRun(){this._resolvePluginsRunning?.();for(const e of this._queuedLifecycleEvents.values())this.runListeners(...e);this._queuedLifecycleEvents.clear()}get contentDir(){if(this.serverMode)throw new Error("contentDir should not be used in server mode");return this._contentDir}loadEnvConfig(e=!0){this.ssoDirect=b(this.config.ssoDirect,e),m("REDOCLY_GLOBAL_PERMISSION",this.getGlobalConfig("rootPermission"))}addEsbuildPlugin(e){this.esbuildPlugins.push(e)}markUserCodeReady(){this._resolveUserCodeReady?.(!0)}async reloadMarkdocOptions(){this._markdocOptions=await F(this.serverOutDir)}get markdocOptions(){return{...this._markdocOptions,partials:this.getGlobalConfig(f),themeConfig:this.config.markdown}}setGlobalData=e=>{const s=this.globalData,t={...this.globalData,...e};this.globalData=t,JSON.stringify(t)!==JSON.stringify(s)&&this.queueEvent("global-data-updated",void 0,t)};getGlobalData=()=>this.globalData;parseMarkdoc=async(e,s,t)=>{const{data:{info:a,ast:r},compoundHash:n}=await k(e,this.markdocOptions,{actions:this,context:s});for(const d of a.sharedDataDeps||[]){for(const o of t?.routeSlugs||[])this.addRouteSharedData(o,d,d);for(const o of t?.sharedDataIds||[]){const i=this.sharedDataDeps.get(o)||new Set;i.add(d),this.sharedDataDeps.set(o,i)}}for(const d of a.dynamicMarkdocComponents||[]){for(const o of t?.routeSlugs||[]){const i=this.routesDynamicComponents.get(o)||new Set;i.add(d),this.routesDynamicComponents.set(o,i)}for(const o of t?.sharedDataIds||[]){const i=this.sharedDataMarkdocComponents.get(o)||new Set;i.add(d),this.sharedDataMarkdocComponents.set(o,i)}}return{info:a,ast:r,compoundHash:n}};async loadOpenApiDefinitions(e){return(await e.cache.load(".","load-oas-docs")).data}setSearchEngine(e){this.searchEngine=e}setSearchFacets=e=>{this.searchFacets=e};setCliOptions(e){this.cliOptions={...this.cliOptions,...e}}setGlobalConfig=e=>{this.config={...this.config,...e}};getConfig=()=>this.config;getGlobalConfig=e=>this.config[e];getSearchFacets=()=>this.searchFacets;addRedirect(e,s){!I.instance().canAccessFeature(N.Redirects)&&e!=="/"||(this.config.redirects||(this.config.redirects={}),this.config.redirects[S(e)]=s)}createSharedData=async(e,s,t)=>{if(t&&this._sharedDataHashes[e]===t)return e;const a=JSON.stringify(s),r=t??M(a);return this._sharedDataHashes[e]===r||(this._sharedDataHashes[e]=r,await _(e,a,this.outdir),this.queueEvent("shared-data-updated",e)),e};addRouteSharedData=(e,s,t)=>{const a=G(e),r=this.routesSharedData.get(a)||{};r[s]=t,this.routesSharedData.set(a,r),g.verbose(`Adding shared data to ${e}, ${s}, ${t}`)};addRoute=e=>{const t={...q(e.fsPath,this.config.metadataGlobs),...e.metadata||{}};this.newRoutes.push({...e,metadata:t}),g.verbose("Created route %s",e.slug)};addRouteSharedDataToAllLocales=(e,s,t)=>{const a=[u,...this.lifecycleContext?.fs.localeFolders||[]].map(r=>({code:r,name:r}));for(const r of a){const n=L(e,u,r.code,a);this.addRouteSharedData(n,s,t)}};addApiRoute=e=>{this.apiRoutesBySlug.set(e.slug,e),g.verbose("Created API route %s",e.slug)};addMiddleware=e=>{this.middleware.push(e),g.verbose("Created middleware %s",e.id)};addCustomSsoProvider=e=>{this.loginUrls[e.type]=e.loginUrl;for(const s of e.apiRoutes){const t=s.route.slug;this.createRequestHandler(t,s.handlerImportPath),this.addApiRoute({...s.route,requestHandlerId:t})}};getLoginUrls=()=>this.loginUrls;getRouteByFsPath=e=>{const s=this.routesByFsPath.get(e);return s?this.getRouteBySlug(s):void 0};getRouteBySlug=(e,s={})=>{const{followRedirect:t=!0}=s,a=this.config.redirects?.[e];return t&&a?.to?this.routesBySlug.get(S(a.to)):this.routesBySlug.get(e)};getAllRoutesForLocale=(e=u)=>{const s=Array.from(this.routesBySlug.values()),t=e.toLowerCase();return s.filter(a=>e===u?!H(a.fsPath):a.slug.startsWith(`/${t}`))};getAllRoutes=()=>Array.from(this.routesBySlug.values());getApiRouteBySlug=e=>this.apiRoutesBySlug.get(e);getAllApiRoutes=()=>Array.from(this.apiRoutesBySlug.values());getAllMiddleware=()=>this.middleware;getTemplate=e=>this.templates.get(e);getRequestHandler=e=>this.apiRequestHandlers.get(e);createTemplate=(e,s)=>(this.templates.set(e,s),e);addBrowserPlugin=e=>{this.browserPlugins.add(e)};createRequestHandler=(e,s)=>(this.apiRequestHandlers.set(e,s),e);registerServerPropsGetter=(e,s)=>(this.serverPropsGetters.set(e,s),e);async writeRouteStaticData(e,s){const t=await this.resolveRouteStaticData(e,s,!1);t&&B(e.slug,t,this.outdir)}async resolveRouteStaticData(e,s,t){if(this.serverMode)return O(e.slug,this.outdir);const a={...this,contentDir:this.contentDir,parseMarkdoc:(c,l)=>this.parseMarkdoc(c,l,{routeSlugs:[e.slug]})},r=await e.getStaticData?.(e,a)||{},n=new Set(this.routesDynamicComponents.get(e.slug)),d=this.routesSharedData.get(e.slug)||{};for(const c of Object.values(d)){const l=this.sharedDataMarkdocComponents.get(c);l&&l.forEach(h=>n.add(h));const p=this.sharedDataDeps.get(c);p&&p.forEach(h=>this.addRouteSharedData(e.slug,h,h))}const o=this.getGlobalConfig("seo"),i=r?.frontmatter||{};return{...r,frontmatter:{...i,seo:{...i?.seo,title:i?.seo?.title||await e.getNavText?.()}},props:{...r.props,dynamicMarkdocComponents:Array.from(n),metadata:e.metadata,seo:{title:T,...o,...r.props?.seo}},lastModified:t||!e.fsPath?null:await this.lifecycleContext?.fs.getLastModified(e.fsPath)}}addSsrComponents(e,s){if(!e?.length)return;const t=typeof e[0]=="string"?e.join(""):E(e);t&&(s==="head"?this.ssr.headTags.push(t):s==="preBody"?this.ssr.preBodyTags.push(t):this.ssr.postBodyTags.push(t))}clear=()=>{this.routesByFsPath.clear(),this.newRoutes=[],this.routesBySlug.clear(),this.apiRoutesBySlug.clear(),this.middleware=[],this.loginUrls={...D},this.routesSharedData.clear(),this.sharedDataDeps.clear(),this.sharedDataMarkdocComponents.clear(),this.routesDynamicComponents.clear(),this.config.redirects={},this.config.directoryPermissions={},this.ssr={preBodyTags:[],postBodyTags:[],headTags:[]}};toJson(){const e=Object.fromEntries(Object.entries(y).map(([s,t])=>{switch(t){case"map":const a=Array.from(this[s].entries());return[s,a];case"object":return[s,this[s]];default:throw new Error("Invalid format")}}));return e[R]=A("PLAN_GATES"),e}static fromJson(e,s){const t=new w(s);for(const[r,n]of Object.entries(y))switch(n){case"map":t[r]=new Map(e[r]);break;case"object":t[r]=e[r];break;default:throw new Error("Invalid format")}t.config[f]=U(t.config[f]||{});const a=e[R];return a&&m("PLAN_GATES",a),t.loadEnvConfig(),t}}function U(v){return C(v,e=>P.Ast.fromJSON(JSON.stringify(e)))}export{f as MARKDOC_PARTIALS_DATA_KEY,w as Store};
@@ -1 +1 @@
1
- import{getAuthDetailsFromCookies as r}from"../../utils/rbac.js";function n(t){return async(e,a)=>{const o=await r(t.ssoOnPrem||{},e.req.raw.headers.get("cookie")||void 0);e.set("auth",o),await a()}}export{n as authMiddleware};
1
+ import{getAuthDetailsFromCookies as r}from"../../utils/rbac.js";function s(t){return async(e,a)=>{const o=await r(t.ssoDirect||{},e.req.raw.headers.get("cookie")||void 0);e.set("auth",o),await a()}}export{s as authMiddleware};
@@ -1 +1 @@
1
- {"version":3,"file":"responseHeadersMiddleware.d.ts","sourceRoot":"","sources":["../../../../../../src/server/web-server/middleware/responseHeadersMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,SACjC,OAAO,QAAQ,IAAI,mBA4BvC"}
1
+ {"version":3,"file":"responseHeadersMiddleware.d.ts","sourceRoot":"","sources":["../../../../../../src/server/web-server/middleware/responseHeadersMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,SACjC,OAAO,QAAQ,IAAI,mBA2BvC"}
@@ -1 +1 @@
1
- import{minimatch as c}from"minimatch";import{SERVER_EDITOR_APP_URL as d,withoutPathPrefix as m}from"../../../shared/urls.js";import{removeTrailingSlash as p}from"../../../shared/utils.js";function y(n){return async(e,i)=>{try{await i()}finally{const r=n.getConfig();if(r.responseHeaders){const a=m(new URL(e.req.url).pathname),t=Object.keys(r.responseHeaders);for(const s of t)if(c(a,s))for(const{name:f,value:l}of r.responseHeaders[s])e.header(f,l)}const o=e.req.header("referer");o&&p(o)===d&&(e.header("Cross-Origin-Embedder-Policy","credentialless"),e.header("Cross-Origin-Resource-Policy","cross-origin"))}}}export{y as responseHeadersMiddleware};
1
+ import{minimatch as l}from"minimatch";import{SERVER_EDITOR_APP_URL as m,withoutPathPrefix as p}from"../../../shared/urls.js";import{removeTrailingSlash as d}from"../../../shared/utils.js";function R(n){return async(e,i)=>{try{await i()}finally{const r=n.getConfig();if(r.responseHeaders){const a=p(new URL(e.req.url).pathname),t=Object.keys(r.responseHeaders);for(const s of t)if(l(a,s))for(const{name:f,value:c}of r.responseHeaders[s])e.header(f,c)}const o=e.req.header("referer");o&&d(o)===m&&e.header("Cross-Origin-Resource-Policy","cross-origin")}}}export{R as responseHeadersMiddleware};
@@ -1 +1 @@
1
- {"version":3,"file":"responseHeadersMiddleware.js","sourceRoot":"","sources":["../../../../../../src/server/web-server/middleware/responseHeadersMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CAAC,KAAY;IACpD,OAAO,KAAK,EAAE,GAAY,EAAE,IAAU,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,qGAAqG;YACrG,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;wBACjC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9D,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,qBAAqB,CAAC;YAE7F,IAAI,gBAAgB,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"responseHeadersMiddleware.js","sourceRoot":"","sources":["../../../../../../src/server/web-server/middleware/responseHeadersMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CAAC,KAAY;IACpD,OAAO,KAAK,EAAE,GAAY,EAAE,IAAU,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,qGAAqG;YACrG,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;wBACjC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9D,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,qBAAqB,CAAC;YAE7F,IAAI,gBAAgB,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../../src/server/web-server/routes/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAiC5C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,qBAqBlD;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAUrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAiKzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,SACrB,OAAO,uBA6D3B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,SACvB,OAAO,uBAuD3B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CA2FzD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAgD9D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../../src/server/web-server/routes/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAiC5C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,qBAuBlD;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAUrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAiKzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,SACrB,OAAO,uBA6D3B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,SACvB,OAAO,uBAuD3B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CA2FzD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAgD9D"}
@@ -1 +1 @@
1
- import{setCookie as y,deleteCookie as $,getCookie as q}from"hono/cookie";import{ALTERNATIVE_AUD_CLAIM_NAME as D,JWT_SECRET_KEY as k,ORG_SLUG as z}from"../../constants.js";import{DEFAULT_COOKIE_EXPIRATION as b,ServerRoutes as T}from"../../../shared/constants.js";import{getAuthProviderLoginParams as B,isOidcProviderConfig as C,isSaml2ProviderConfig as V,oidcExchangeCodeForToken as G,buildLoginUrl as J,decodeSamlResponse as K,extractUserClaims as X,parseSamlResponse as W,parseOidcState as Y,verifySAMLResponse as Q,getUsernameFromPayload as Z,buildOidcLogoutUrl as x,getOidcMetadata as v,getRedoclyTokenPayload as ee,isRedoclySso as re,rewritePreviewAuthRedirectUri as oe,parsePreviewBranch as U}from"../auth.js";import*as P from"../jwt/jwt.js";import{sanitizeRedirectPathname as E,withPathPrefix as A}from"../../../shared/urls.js";import{getPathPrefix as w}from"../../../shared/utils.js";import{compareURIs as ne,ensureArray as M}from"../../../shared/jsUtils.js";import{AlgorithmTypes as te}from"../jwt/types.js";import{handleErrorPageRender as se}from"../utils.js";import{encodeBase64URL as ie}from"../jwt/encode.js";async function Le(i){if(process.env.NODE_ENV==="production")return i.newResponse(null,404,{});const{password:e,...r}=await i.req.json(),d=await P.sign({...r,name:r.username||r.email||"Unknown"},k);return y(i,"authorization",d,{path:w()||"/",httpOnly:!0}),i.newResponse(null,200,{})}function Re(){return async i=>{const e=i.get("logger"),r=encodeURIComponent(i.req.query("message")||"");e.error(`Login error: ${r}`);const d=`${T.LOGIN}/?error=${encodeURIComponent(r)}`;return i.newResponse(null,301,{Location:d})}}function ye(i){return async e=>{const r=e.get("logger"),d=i.ssoOnPrem,n=Y(e.req.query("state")),f=n.idpId,a=d?.[f];if(!C(a))return r.error("OIDC login error: missing OIDC provider config"),e.text("Forbidden",403);const p=await v(f,a);if(d&&!p.token_endpoint){const l="Invalid OIDC configuration: token_endpoint is required";return r.error(`OIDC login error: ${l}`),e.text(l,500)}try{const l=p.token_endpoint,m=e.req.query("code");if(e.req.query("error"))return se(e,i,{slug:"/"},"403","403OIDC");if(!m){const O="Code is expected but not present";return r.error(`OIDC login error: ${O}`),new Response(`Forbidden: ${O}`,{status:403})}const t=e.req.header("x-forwarded-host"),h=e.req.header("x-forwarded-proto")||"https",R=n.redirectUri??new URL(A(T.OIDC_CALLBACK),t?`${h}://${t}`:e.req.url).toString(),c=q(e,"code_verifier"),s=await G(l,m,R,a,{...a.tokenRequestCustomParams,...c?{code_verifier:c}:{}});if(s.error)return r.error(`Error from OIDC provider: "${s.error}"`),e.text(`Forbidden: ${s.error_description||s.error}`,403);if(!s?.id_token){const O="No id_token, please, add openid to scopes";return r.error(`OIDC login error: ${O}`),new Response(`Forbidden: ${O}`,{status:403})}const{payload:g,header:S}=P.decode(s.id_token),o=S.alg===te.RS256;if(a.audience?.length&&![...M(g.aud||[]),...M(g[D]||[])].some(I=>a.audience?.includes(I))){const I="No valid audience found in id_token";return r.error(`OIDC login error: ${I}`),new Response(`Forbidden: ${I}`)}const N=o?s.id_token:await P.sign({...g,idpId:f},k);Z(g)||r.warn("To display your username, the required 'email' or 'full_profile' scope must be added to the identity provider configuration");const _=a?.tokenExpirationTime?Date.now()+a.tokenExpirationTime*1e3:g.exp*1e3||Date.now()+b*1e3;y(e,"authorization",N,{path:w()||"/",httpOnly:!0,expires:new Date(_)}),y(e,"idp_id_token",s.id_token||"",{path:w()||"/",httpOnly:!0,expires:new Date(_)}),y(e,"idp_access_token",s.access_token||"",{path:w()||"/",httpOnly:!0,expires:new Date(_)}),$(e,"code_verifier",{path:w()||"/"});const F=typeof n.redirectTo=="string"?n.redirectTo:void 0;let j=E(new URL(F||"/",e.req.url).pathname);const H=e.newResponse(null,302,{Location:j});return r.updateContext({email:g.email,subject:g.sub}),r.info("OIDC login successful"),H}catch(l){if(r.error(`OIDC login error: ${l.message}`),l.error==="access_denied")return r.info("Access denied"),e.text("Forbidden",403)}const u="Something went wrong";return r.error(`OIDC login error: ${u}`),e.text(u,500)}}function Oe(i){return async e=>{const r=e.get("logger"),n=e.get("auth").claims?.idpId,a=i.ssoOnPrem?.[n];if(e.req.method==="POST")return C(a)||$(e,"authorization",{path:w()||"/"}),r.info("Logout successful"),e.newResponse(null,200,{});let p;if(C(a)){const u=(await v(n,a)).end_session_endpoint;if(u){const l=new URL(e.req.url),m=e.req.header("x-forwarded-proto")||l.protocol.slice(0,-1)||"https",L=e.req.header("x-forwarded-host")||l.host,t=`${m}://${L}`,h=U(t),R=h?ie(JSON.stringify({branch:U(t)})):void 0,c=h?`${oe(t)}/_auth/logout`:t;p=x(u,c,q(e,"idp_id_token")||"",R)}}return r.info("Logout successful"),$(e,"authorization",{path:w()||"/"}),e.newResponse(null,302,{Location:p||A("/")})}}function Pe(i){return async e=>{const r=e.get("logger"),d=i.ssoOnPrem,n=new URL(e.req.url),f=e.req.header("x-forwarded-proto")||n.protocol.slice(0,-1)||"https",a=e.req.header("x-forwarded-host")||n.host,p=`${f}://${a}`;let u=n.searchParams.get("idpId");const l=n.searchParams.get("redirectTo"),m=Object.keys(d||{})[0];if(u=u||m,!d?.[u]){const s="Invalid idpId";return r.error(`IdP login error: ${s}`),e.text(`Forbidden: ${s}`,403)}const t=u&&d?await B(u,d[u]):void 0,h={};for(const s of Object.keys(t?.extraParams||{}))h[s]=n.searchParams.get(s)||t?.extraParams?.[s]||void 0;const{loginUrl:R,cookies:c={}}=t&&J({...t,extraParams:h},p,l)||{};return Object.keys(c).forEach(s=>{y(e,s,c[s].value,c[s].options)}),r.info(`IdP login initiated for ID '${u}'`),e.newResponse(null,302,{Location:R||new URL(e.req.url).pathname})}}function Ie(i){return async e=>{const r=e.get("logger"),d=await e.req.formData(),n=d.get("SAMLResponse"),f=d.get("RelayState");if(typeof n!="string"||typeof f!="string"){const o="SAMLResponse is required";return r.error(`SAML2 login error: ${o}`),e.text(`Bad request: ${o}`,400)}const a=K(n),{success:p,uid:u,nameFormat:l,attrs:m,issuerId:L,expiresAt:t}=W(a),{idpId:h,redirectTo:R}=JSON.parse(f);if(!p){const o="SAML2 assertion is not successful";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!t||Math.ceil(Date.now()/1e3)>=t){const o="SAML2 Token Expired";return r.error(`SAML2 login error: ${o}`),e.text(o,401)}const c=i.ssoOnPrem?.[h];if(!c||!V(c)){const o="Cannot find valid IdP";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!(c.issuerId&&ne(c.issuerId,L))){const o="IssuerID is misconfigured or untrusted assertions issuer received";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!await Q(a,c.x509PublicCert)){const o="SAMLResponse signature invalid";return r.error(`SAML2 login error: ${o}`),e.text(o,401)}const g=X(u,l,m,c.teamsAttributeName);if(!g.sub){const o="The provider did not return a valid user identity.";return r.error(`SAML2 login error: ${o}`),e.text(o,400)}if(!g.email){const o="The provider did not return a valid user email.";return r.error(`SAML2 login error: ${o}`),e.text(o,400)}const S=await P.sign({...g,idpId:h},k);return y(e,"authorization",S,{path:w()||"/",httpOnly:!0,expires:new Date(t*1e3)}),r.updateContext({email:g.email,subject:g.sub}),r.info("SAML2 login successful"),e.newResponse(null,302,{Location:R||"/"})}}function ke(i){return async e=>{const r=e.get("logger"),d=new URL(e.req.query("redirectTo")||"/",e.req.url),n=A(E(d.pathname));if(!(i.ssoOnPrem&&Object.values(i.ssoOnPrem).some(t=>C(t)&&re(t))))return e.newResponse(null,302,{Location:n});const a=e.req.query("token"),p=a&&await ee(a);if(!p)return e.newResponse(null,302,{Location:n});if(!M(p[D]||[]).some(t=>t===z))return e.newResponse(null,302,{Location:n});const m=await P.sign(p,k),L=Date.now()+b*1e3;return y(e,"authorization",m,{path:w()||"/",httpOnly:!0,expires:new Date(L),sameSite:"None",secure:!0}),r.info("Token login successful"),e.newResponse(null,302,{Location:n})}}export{Le as authorizeHandler,Pe as idpLoginHandler,Oe as logoutHandler,ye as oidcCallbackHandler,Re as redoclyLoginCallbackHandler,ke as redoclyTokenLoginHandler,Ie as samlCallbackHandler};
1
+ import{setCookie as y,deleteCookie as $,getCookie as P}from"hono/cookie";import{ALTERNATIVE_AUD_CLAIM_NAME as q,JWT_SECRET_KEY as C,ORG_SLUG as z}from"../../constants.js";import{DEFAULT_COOKIE_EXPIRATION as b,ServerRoutes as T}from"../../../shared/constants.js";import{getAuthProviderLoginParams as B,isOidcProviderConfig as S,isSaml2ProviderConfig as V,oidcExchangeCodeForToken as G,buildLoginUrl as J,decodeSamlResponse as K,extractUserClaims as X,parseSamlResponse as W,parseOidcState as Y,verifySAMLResponse as Q,getUsernameFromPayload as Z,buildOidcLogoutUrl as x,getOidcMetadata as v,getRedoclyTokenPayload as ee,isRedoclySso as re,rewritePreviewAuthRedirectUri as oe,parsePreviewBranch as U}from"../auth.js";import*as k from"../jwt/jwt.js";import{sanitizeRedirectPathname as E,withPathPrefix as A}from"../../../shared/urls.js";import{getPathPrefix as w}from"../../../shared/utils.js";import{compareURIs as ne,ensureArray as M}from"../../../shared/jsUtils.js";import{AlgorithmTypes as te}from"../jwt/types.js";import{handleErrorPageRender as se}from"../utils.js";import{encodeBase64URL as ie}from"../jwt/encode.js";async function Le(i){if(process.env.NODE_ENV==="production")return i.newResponse(null,404,{});const{password:e,...r}=await i.req.json(),d=await k.sign({...r,name:r.username||r.email||"Unknown"},C);return y(i,"authorization",d,{path:w()||"/",httpOnly:!0,secure:!0,sameSite:"none"}),i.newResponse(null,200,{})}function Re(){return async i=>{const e=i.get("logger"),r=encodeURIComponent(i.req.query("message")||"");e.error(`Login error: ${r}`);const d=`${T.LOGIN}/?error=${encodeURIComponent(r)}`;return i.newResponse(null,301,{Location:d})}}function ye(i){return async e=>{const r=e.get("logger"),d=i.ssoDirect,n=Y(e.req.query("state")),f=n.idpId,a=d?.[f];if(!S(a))return r.error("OIDC login error: missing OIDC provider config"),e.text("Forbidden",403);const p=await v(f,a);if(d&&!p.token_endpoint){const c="Invalid OIDC configuration: token_endpoint is required";return r.error(`OIDC login error: ${c}`),e.text(c,500)}try{const c=p.token_endpoint,m=e.req.query("code");if(e.req.query("error"))return se(e,i,{slug:"/"},"403","403OIDC");if(!m){const I="Code is expected but not present";return r.error(`OIDC login error: ${I}`),new Response(`Forbidden: ${I}`,{status:403})}const t=e.req.header("x-forwarded-host"),h=e.req.header("x-forwarded-proto")||"https",R=n.redirectUri??new URL(A(T.OIDC_CALLBACK),t?`${h}://${t}`:e.req.url).toString(),l=P(e,"code_verifier"),s=await G(c,m,R,a,{...a.tokenRequestCustomParams,...l?{code_verifier:l}:{}});if(s.error)return r.error(`Error from OIDC provider: "${s.error}"`),e.text(`Forbidden: ${s.error_description||s.error}`,403);if(!s?.id_token){const I="No id_token, please, add openid to scopes";return r.error(`OIDC login error: ${I}`),new Response(`Forbidden: ${I}`,{status:403})}const{payload:g,header:O}=k.decode(s.id_token),o=O.alg===te.RS256;if(a.audience?.length&&![...M(g.aud||[]),...M(g[q]||[])].some(D=>a.audience?.includes(D))){const D="No valid audience found in id_token";return r.error(`OIDC login error: ${D}`),new Response(`Forbidden: ${D}`)}const N=o?s.id_token:await k.sign({...g,idpId:f},C);Z(g)||r.warn("To display your username, the required 'email' or 'full_profile' scope must be added to the identity provider configuration");const _=a?.tokenExpirationTime?Date.now()+a.tokenExpirationTime*1e3:g.exp*1e3||Date.now()+b*1e3;y(e,"authorization",N,{path:w()||"/",httpOnly:!0,expires:new Date(_)}),y(e,"idp_id_token",s.id_token||"",{path:w()||"/",httpOnly:!0,expires:new Date(_)}),y(e,"idp_access_token",s.access_token||"",{path:w()||"/",httpOnly:!0,expires:new Date(_)}),$(e,"code_verifier",{path:w()||"/"});const F=typeof n.redirectTo=="string"?n.redirectTo:void 0;let j=E(new URL(F||"/",e.req.url).pathname);const H=e.newResponse(null,302,{Location:j});return r.updateContext({email:g.email,subject:g.sub}),r.info("OIDC login successful"),H}catch(c){if(r.error(`OIDC login error: ${c.message}`),c.error==="access_denied")return r.info("Access denied"),e.text("Forbidden",403)}const u="Something went wrong";return r.error(`OIDC login error: ${u}`),e.text(u,500)}}function Ie(i){return async e=>{const r=e.get("logger"),n=e.get("auth").claims?.idpId,a=i.ssoDirect?.[n];if(e.req.method==="POST")return S(a)||$(e,"authorization",{path:w()||"/"}),r.info("Logout successful"),e.newResponse(null,200,{});let p;if(S(a)){const u=(await v(n,a)).end_session_endpoint;if(u){const c=new URL(e.req.url),m=e.req.header("x-forwarded-proto")||c.protocol.slice(0,-1)||"https",L=e.req.header("x-forwarded-host")||c.host,t=`${m}://${L}`,h=U(t),R=h?ie(JSON.stringify({branch:U(t)})):void 0,l=h?`${oe(t)}/_auth/logout`:t;p=x(u,l,P(e,"idp_id_token")||"",R)}}return r.info("Logout successful"),$(e,"authorization",{path:w()||"/"}),e.newResponse(null,302,{Location:p||A("/")})}}function ke(i){return async e=>{const r=e.get("logger"),d=i.ssoDirect,n=new URL(e.req.url),f=e.req.header("x-forwarded-proto")||n.protocol.slice(0,-1)||"https",a=e.req.header("x-forwarded-host")||n.host,p=`${f}://${a}`;let u=n.searchParams.get("idpId");const c=n.searchParams.get("redirectTo"),m=Object.keys(d||{})[0];if(u=u||m,!d?.[u]){const s="Invalid idpId";return r.error(`IdP login error: ${s}`),e.text(`Forbidden: ${s}`,403)}const t=u&&d?await B(u,d[u]):void 0,h={};for(const s of Object.keys(t?.extraParams||{}))h[s]=n.searchParams.get(s)||t?.extraParams?.[s]||void 0;const{loginUrl:R,cookies:l={}}=t&&J({...t,extraParams:h},p,c)||{};return Object.keys(l).forEach(s=>{y(e,s,l[s].value,l[s].options)}),r.info(`IdP login initiated for ID '${u}'`),e.newResponse(null,302,{Location:R||new URL(e.req.url).pathname})}}function De(i){return async e=>{const r=e.get("logger"),d=await e.req.formData(),n=d.get("SAMLResponse"),f=d.get("RelayState");if(typeof n!="string"||typeof f!="string"){const o="SAMLResponse is required";return r.error(`SAML2 login error: ${o}`),e.text(`Bad request: ${o}`,400)}const a=K(n),{success:p,uid:u,nameFormat:c,attrs:m,issuerId:L,expiresAt:t}=W(a),{idpId:h,redirectTo:R}=JSON.parse(f);if(!p){const o="SAML2 assertion is not successful";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!t||Math.ceil(Date.now()/1e3)>=t){const o="SAML2 Token Expired";return r.error(`SAML2 login error: ${o}`),e.text(o,401)}const l=i.ssoDirect?.[h];if(!l||!V(l)){const o="Cannot find valid IdP";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!(l.issuerId&&ne(l.issuerId,L))){const o="IssuerID is misconfigured or untrusted assertions issuer received";return r.error(`SAML2 login error: ${o}`),e.text(`Permission denied: ${o}`,401)}if(!await Q(a,l.x509PublicCert)){const o="SAMLResponse signature invalid";return r.error(`SAML2 login error: ${o}`),e.text(o,401)}const g=X(u,c,m,l.teamsAttributeName);if(!g.sub){const o="The provider did not return a valid user identity.";return r.error(`SAML2 login error: ${o}`),e.text(o,400)}if(!g.email){const o="The provider did not return a valid user email.";return r.error(`SAML2 login error: ${o}`),e.text(o,400)}const O=await k.sign({...g,idpId:h},C);return y(e,"authorization",O,{path:w()||"/",httpOnly:!0,expires:new Date(t*1e3)}),r.updateContext({email:g.email,subject:g.sub}),r.info("SAML2 login successful"),e.newResponse(null,302,{Location:R||"/"})}}function Ce(i){return async e=>{const r=e.get("logger"),d=new URL(e.req.query("redirectTo")||"/",e.req.url),n=A(E(d.pathname));if(!(i.ssoDirect&&Object.values(i.ssoDirect).some(t=>S(t)&&re(t))))return e.newResponse(null,302,{Location:n});const a=e.req.query("token"),p=a&&await ee(a);if(!p)return e.newResponse(null,302,{Location:n});if(!M(p[q]||[]).some(t=>t===z))return e.newResponse(null,302,{Location:n});const m=await k.sign(p,C),L=Date.now()+b*1e3;return y(e,"authorization",m,{path:w()||"/",httpOnly:!0,expires:new Date(L),sameSite:"None",secure:!0}),r.info("Token login successful"),e.newResponse(null,302,{Location:n})}}export{Le as authorizeHandler,ke as idpLoginHandler,Ie as logoutHandler,ye as oidcCallbackHandler,Re as redoclyLoginCallbackHandler,Ce as redoclyTokenLoginHandler,De as samlCallbackHandler};
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../src/server/web-server/routes/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../src/server/web-server/routes/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMjE,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAE9D,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAC1B;QACE,GAAG,IAAI;QACP,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;KAC/C,EACD,cAAc,CACf,CAAC;IAEF,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE;QACrC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;QAC5B,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,WAAW,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QAE/E,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAElC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAAuB,KAAK,CAAC,KAAe,CAAC;QAExD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC/D,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE7D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,wDAAwD,CAAC;gBAC9E,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;gBAClD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,kCAAkC,CAAC;gBACxD,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;gBAClD,OAAO,IAAI,QAAQ,CAAC,cAAc,YAAY,EAAE,EAAE;oBAChD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC;YACrE,MAAM,WAAW,GACd,KAAK,CAAC,WAAsB;gBAC7B,IAAI,GAAG,CACL,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,EAC1C,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAClE,CAAC,QAAQ,EAAE,CAAC;YAEf,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,QAAkB,EAClB,IAAI,EACJ,WAAW,EACX,SAAS,EACT;gBACE,GAAG,SAAS,CAAC,wBAAwB;gBACrC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC9D,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YACrF,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,2CAA2C,CAAC;gBACjE,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;gBAClD,OAAO,IAAI,QAAQ,CAAC,cAAc,YAAY,EAAE,EAAE;oBAChD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,+BAA+B;YAE/B,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,KAAK,cAAc,CAAC,KAAK,CAAC;YAEvD,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG;oBACrB,qDAAqD;oBACrD,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,CAAC;oBACtC,uFAAuF;oBACvF,GAAG,WAAW,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;iBAC/D,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACrE,MAAM,YAAY,GAAG,qCAAqC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;oBAClD,OAAO,IAAI,QAAQ,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,MAAM,YAAY,GAAG,OAAO;gBAC1B,CAAC,CAAC,QAAQ,CAAC,QAAQ;gBACnB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACZ;oBACE,GAAG,YAAY;oBACf,KAAK;iBACN,EACD,cAAc,CACf,CAAC;YAEN,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CACT,6HAA6H,CAC9H,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,SAAS,EAAE,mBAAmB;gBACnD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,mBAAmB,GAAG,IAAI;gBACnD,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,GAAG,IAAI,CAAC;YAE7E,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE;gBAC5C,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;gBAC5B,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;aAClC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;gBACtD,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;gBAC5B,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;aAClC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE;gBAC9D,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;gBAC5B,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;aAClC,CAAC,CAAC;YAEH,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAErE,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,IAAI,kBAAkB,GAAG,wBAAwB,CAC/C,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CACjD,CAAC;YACF,0DAA0D;YAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAE1E,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,OAAO,KAAK,EAAE,GAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAe,CAAC;QAE3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,4BAA4B;YAC5B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE;oBACjC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,gBAAgB,GAAuB,SAAS,CAAC;QAErD,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAE1F,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEvC,MAAM,KAAK,GACT,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;gBACpF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;gBAClE,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC;gBAEpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,aAAa;oBACzB,CAAC,CAAC,eAAe,CACb,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;qBACnC,CAAC,CACH;oBACH,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,aAAa,GAAG,aAAa;oBACjC,CAAC,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,eAAe;oBACzD,CAAC,CAAC,MAAM,CAAC;gBAEX,gBAAgB,GAAG,kBAAkB,CACnC,kBAAkB,EAClB,aAAa,EACb,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,EACpC,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE;YACjC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;SAC7B,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,gBAAgB,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,OAAO,KAAK,EAAE,GAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QAChG,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;QAClE,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,KAAK,GAAG,KAAK,IAAI,YAAY,CAAC;QAE9B,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,eAAe,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,cAAc,GAClB,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7F,+CAA+C;QAC/C,MAAM,WAAW,GAAuC,EAAE,CAAC;QAC3D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,WAAW,CAAC,SAAS,CAAC;gBACpB,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;oBACrC,cAAc,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC;oBACxC,SAAS,CAAC;QACd,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,GAC9B,CAAC,cAAc;YACb,aAAa,CACX;gBACE,GAAG,cAAc;gBACjB,WAAW;aACZ,EACD,MAAM,EACN,UAAU,CACX,CAAC;YACJ,EAAE,CAAC;QAEL,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC1C,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAChC,QAAQ,EAAE,QAAQ,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ;SACpD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,0BAA0B,CAAC;YAEhD,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,gBAAgB,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE/F,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,mCAAmC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,qBAAqB,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,uBAAuB,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,mEAAmE,CAAC;YACzF,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,gCAAgC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAC9B,GAAG,EACH,UAAU,EACV,KAAK,EACJ,GAA2B,CAAC,kBAAkB,CAChD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,oDAAoD,CAAC;YAC1E,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,iDAAiD,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAC1B;YACE,GAAG,MAAM;YACT,KAAK;SACN,EACD,cAAc,CACf,CAAC;QACF,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE;YACrC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;YAC5B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,cAAc,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1E,MAAM,mBAAmB,GACvB,KAAK,CAAC,SAAS;YACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CACjC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAC1E,CAAC;QAEJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;QAE9D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAElE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,GAAG,IAAI,CAAC;QAErE,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE;YAC5C,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG;YAC5B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;YACjC,6FAA6F;YAC7F,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEtC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- import{canAccessResource as E,filterDataByAccessDeep as L}from"../../utils/rbac.js";import{getServerProps as O}from"../../ssr/index.js";import{DEV_LOGIN_SLUG as T,ServerRoutes as U}from"../../../shared/constants.js";import{findInIterable as $}from"../../../shared/jsUtils.js";import{readSharedData as y}from"../../utils/index.js";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as n,DEFAULT_TITLE as P}from"../../constants.js";import{getRedirectLoginUrl as F}from"../utils/get-redirect-login-url.js";import{removeTrailingSlash as N}from"../../../shared/utils.js";function z(e,a){return async(t,p)=>{const l=t.get("logger"),{req:u}=t,{pathname:c}=new URL(u.url),{seo:h,ssoOnPrem:f}=e.getConfig(),s=h?.title||P,g=c.match(/page-data(.*)data.json$/);if(!g)return p();const i=decodeURI(g[1]),d=i==="/index/"?"/":N(i),o=e.getRouteBySlug(d,{followRedirect:!1})||$(e.routesBySlug.values(),r=>r.hasClientRoutes&&i.startsWith(r.slug));if(i===U.OIDC_CALLBACK+"/")return t.json({templateId:"403OIDC",sharedDataIds:{},props:{seo:{title:`${s} - Forbidden`}}},200,{"Cache-Control":n});const{isAuthenticated:C,teams:D,claims:{name:A,picture:S,email:I}}=t.get("auth"),R={isAuthenticated:C,email:I,teams:D},m={isAuthenticated:C,name:A,picture:S,email:I,teams:D};if(!o){const r=e.getRouteBySlug(d,{followRedirect:!0});return l.error(`Page not found: ${c}`),t.json({templateId:"404",redirectTo:r?.slug,sharedDataIds:{},props:{seo:{title:`${s} - Not Found`}},userData:m},404,{"Cache-Control":n})}if(l.verbose(`Page viewed: ${o.slug}`),!E(o,R,e.config.rbac,e.config.requiresLogin)&&o.slug!==T){if(C)return t.json({templateId:"403",sharedDataIds:{},props:{seo:{title:`${s} - Forbidden`}},userData:m},403,{"Cache-Control":n});const r=Object.keys(f||{}).length>0;return t.json({templateId:"404",sharedDataIds:{},props:{seo:{title:`${s} - Not Found`}},userData:m,...r?{redirectTo:F(e,o.slug)}:{}},r?401:404,{"Cache-Control":n})}const j=L(o.versions,R,e.config.rbac,e.config.requiresLogin),_=e.routesSharedData.get(o.slug)||{},b=await a(o),v=await O(o,t,b,e),w={templateId:o.templateId,versions:j,sharedDataIds:_,props:v,slug:o.slug,userData:m};return t.json(w,200,{"Cache-Control":n})}}function J(e){return async(a,t)=>{const p=a.get("logger"),{req:l}=a,{pathname:u}=new URL(l.url),c=u.match(/\/page-data\/shared\/(.*)\.json/);if(!c)return t();const h=decodeURIComponent(c[1]),f=await y(h,e.outdir),{isAuthenticated:s,teams:g,claims:{email:i}}=a.get("auth"),d=L(f,{isAuthenticated:s,email:i,teams:g},e.config.rbac,e.config.requiresLogin);return d?a.json(d,200,{"Cache-Control":n}):(p.error(`Shared data not found: ${u}`),a.text("Not Found",404,{"Cache-Control":n}))}}export{z as pageDataHandler,J as sharedPageDataHandler};
1
+ import{canAccessResource as E,filterDataByAccessDeep as L}from"../../utils/rbac.js";import{getServerProps as T}from"../../ssr/index.js";import{DEV_LOGIN_SLUG as U,ServerRoutes as $}from"../../../shared/constants.js";import{findInIterable as y}from"../../../shared/jsUtils.js";import{readSharedData as O}from"../../utils/index.js";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as n,DEFAULT_TITLE as F}from"../../constants.js";import{getRedirectLoginUrl as N}from"../utils/get-redirect-login-url.js";import{removeTrailingSlash as P}from"../../../shared/utils.js";function z(e,a){return async(t,p)=>{const l=t.get("logger"),{req:u}=t,{pathname:c}=new URL(u.url),{seo:h,ssoDirect:f}=e.getConfig(),s=h?.title||F,g=c.match(/page-data(.*)data.json$/);if(!g)return p();const i=decodeURI(g[1]),d=i==="/index/"?"/":P(i),o=e.getRouteBySlug(d,{followRedirect:!1})||y(e.routesBySlug.values(),r=>r.hasClientRoutes&&i.startsWith(r.slug));if(i===$.OIDC_CALLBACK+"/")return t.json({templateId:"403OIDC",sharedDataIds:{},props:{seo:{title:`${s} - Forbidden`}}},200,{"Cache-Control":n});const{isAuthenticated:C,teams:D,claims:{name:A,picture:S,email:I}}=t.get("auth"),R={isAuthenticated:C,email:I,teams:D},m={isAuthenticated:C,name:A,picture:S,email:I,teams:D};if(!o){const r=e.getRouteBySlug(d,{followRedirect:!0});return l.error(`Page not found: ${c}`),t.json({templateId:"404",redirectTo:r?.slug,sharedDataIds:{},props:{seo:{title:`${s} - Not Found`}},userData:m},404,{"Cache-Control":n})}if(l.verbose(`Page viewed: ${o.slug}`),!E(o,R,e.config.rbac,e.config.requiresLogin)&&o.slug!==U){if(C)return t.json({templateId:"403",sharedDataIds:{},props:{seo:{title:`${s} - Forbidden`}},userData:m},403,{"Cache-Control":n});const r=Object.keys(f||{}).length>0;return t.json({templateId:"404",sharedDataIds:{},props:{seo:{title:`${s} - Not Found`}},userData:m,...r?{redirectTo:N(e,o.slug)}:{}},r?401:404,{"Cache-Control":n})}const j=L(o.versions,R,e.config.rbac,e.config.requiresLogin),_=e.routesSharedData.get(o.slug)||{},b=await a(o),v=await T(o,t,b,e),w={templateId:o.templateId,versions:j,sharedDataIds:_,props:v,slug:o.slug,userData:m};return t.json(w,200,{"Cache-Control":n})}}function J(e){return async(a,t)=>{const p=a.get("logger"),{req:l}=a,{pathname:u}=new URL(l.url),c=u.match(/\/page-data\/shared\/(.*)\.json/);if(!c)return t();const h=decodeURIComponent(c[1]),f=await O(h,e.outdir),{isAuthenticated:s,teams:g,claims:{email:i}}=a.get("auth"),d=L(f,{isAuthenticated:s,email:i,teams:g},e.config.rbac,e.config.requiresLogin);return d?a.json(d,200,{"Cache-Control":n}):(p.error(`Shared data not found: ${u}`),a.text("Not Found",404,{"Cache-Control":n}))}}export{z as pageDataHandler,J as sharedPageDataHandler};
@@ -1 +1 @@
1
- import{getLoginUrlWithRedirect as r}from"../utils.js";import{buildClientLoginUrl as c,getLocaleFromPathname as g}from"../../../shared/urls.js";function f(t,o){const l=t.globalData.auth?.devLogin,e=t.ssoOnPrem||{},n=Object.keys(e);if(l||n.length>1)return r(o);if(n.length===1){const a=e[n[0]],i=t.globalData.l10n;return c(n[0],a.type,g(o,i?.defaultLocale,i?.locales),t.loginUrls,o)}}export{f as getRedirectLoginUrl};
1
+ import{getLoginUrlWithRedirect as r}from"../utils.js";import{buildClientLoginUrl as c,getLocaleFromPathname as g}from"../../../shared/urls.js";function f(t,n){const l=t.globalData.auth?.devLogin,e=t.ssoDirect||{},o=Object.keys(e);if(l||o.length>1)return r(n);if(o.length===1){const a=e[o[0]],i=t.globalData.l10n;return c(o[0],a.type,g(n,i?.defaultLocale,i?.locales),t.loginUrls,n)}}export{f as getRedirectLoginUrl};
@@ -12,8 +12,8 @@ export declare function handleErrorPageRender(ctx: Context, store: Store, option
12
12
  };
13
13
  }, statusCode: string, templateId?: string): Promise<Response>;
14
14
  export declare function getLoginUrlWithRedirect(redirectTo: string): string;
15
- export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", 301 | -1 | 500 | 100 | 400 | 302 | 200 | 401 | 300 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 303 | 304 | 305 | 306 | 307 | 308 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "text">>;
15
+ export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", 301 | -1 | 500 | 100 | 400 | 200 | 302 | 401 | 300 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 303 | 304 | 305 | 306 | 307 | 308 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "text">>;
16
16
  export declare function handleUnauthorizedApiRequest(ctx: Context): Response & import("hono").TypedResponse<{
17
17
  message: string;
18
- }, 301 | -1 | 500 | 100 | 400 | 302 | 200 | 401 | 300 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 303 | 304 | 305 | 306 | 307 | 308 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
18
+ }, 301 | -1 | 500 | 100 | 400 | 200 | 302 | 401 | 300 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 303 | 304 | 305 | 306 | 307 | 308 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
19
19
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- import{setCookie as P}from"hono/cookie";import{withPathPrefix as f}from"../../shared/urls.js";import{DEV_LOGIN_SLUG as E}from"../../shared/constants.js";import{getAuthProviderLoginParams as b,buildLoginUrl as w}from"./auth.js";import{renderPage as A}from"../ssr/index.js";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as C}from"../constants.js";async function q(r,e,t,o){const{isAuthenticated:i}=r.get("auth"),n=r.req.raw.headers.get("x-forwarded-host"),a=n?"https://"+n:new URL(r.req.url).origin,l=e.ssoOnPrem,u=Object.keys(l||{}),s=o||u[0],c=l?.[s];if(i)return O(r,e,{slug:t},"403");const g=s&&c?await b(s,c):void 0,{loginUrl:U,cookies:d={}}=g&&w(g,a,t)||{},m=e.globalData.auth?.devLogin||u.length>1?_(t):U;return Object.keys(d).forEach(h=>{P(r,h,d[h].value,d[h].options)}),m?r.newResponse(null,302,{Location:m}):r.text("Unauthorized",401)}const p={};async function O(r,e,t,o,i){let n=p[o];if(!n){const a={templateId:i||o,fsPath:"/",...t,baseSlug:t.slug};n=(await A(a,{},r,e)).html,p[o]=n}return r.html(n,parseInt(o),{"Cache-Control":C})}function _(r){const e=new URLSearchParams({redirectTo:f(r)});return`${f(E)}?${e}`}async function D(r){return r.text("Forbidden",L(r))}function F(r){return r.json({message:"Forbidden"},L(r))}function L(r){const{isAuthenticated:e}=r.get("auth");return e?403:401}export{_ as getLoginUrlWithRedirect,O as handleErrorPageRender,q as handleUnauthorized,F as handleUnauthorizedApiRequest,D as handleUnauthorizedAsset};
1
+ import{setCookie as E}from"hono/cookie";import{withPathPrefix as m}from"../../shared/urls.js";import{DEV_LOGIN_SLUG as P}from"../../shared/constants.js";import{getAuthProviderLoginParams as b,buildLoginUrl as w}from"./auth.js";import{renderPage as A}from"../ssr/index.js";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as C}from"../constants.js";async function j(r,t,n,o){const{isAuthenticated:i}=r.get("auth"),e=r.req.raw.headers.get("x-forwarded-host"),a=e?"https://"+e:new URL(r.req.url).origin,l=t.ssoDirect,u=Object.keys(l||{}),s=o||u[0],c=l?.[s];if(i)return _(r,t,{slug:n},"403");const g=s&&c?await b(s,c):void 0,{loginUrl:U,cookies:d={}}=g&&w(g,a,n)||{},f=t.globalData.auth?.devLogin||u.length>1?H(n):U;return Object.keys(d).forEach(h=>{E(r,h,d[h].value,d[h].options)}),f?r.newResponse(null,302,{Location:f}):r.text("Unauthorized",401)}const p={};async function _(r,t,n,o,i){let e=p[o];if(!e){const a={templateId:i||o,fsPath:"/",...n,baseSlug:n.slug};e=(await A(a,{},r,t)).html,p[o]=e}return r.html(e,parseInt(o),{"Cache-Control":C})}function H(r){const t=new URLSearchParams({redirectTo:m(r)});return`${m(P)}?${t}`}async function q(r){return r.text("Forbidden",L(r))}function F(r){return r.json({message:"Forbidden"},L(r))}function L(r){const{isAuthenticated:t}=r.get("auth");return t?403:401}export{H as getLoginUrlWithRedirect,_ as handleErrorPageRender,j as handleUnauthorized,F as handleUnauthorizedApiRequest,q as handleUnauthorizedAsset};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/revel-reef",
3
- "version": "0.109.5",
3
+ "version": "0.110.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {
@@ -27,12 +27,12 @@
27
27
  "@opentelemetry/sdk-trace-node": "^1.26.0",
28
28
  "@opentelemetry/semantic-conventions": "^1.27.0",
29
29
  "@redocly/ajv": "8.11.2",
30
- "@redocly/graphql-docs": "0.7.5",
30
+ "@redocly/graphql-docs": "0.7.6",
31
31
  "@redocly/openapi-core": "1.25.15",
32
- "@redocly/openapi-docs": "3.5.5",
32
+ "@redocly/openapi-docs": "3.5.6",
33
33
  "@redocly/portal-legacy-ui": "0.1.1",
34
- "@redocly/portal-plugin-mock-server": "0.3.57",
35
- "@redocly/theme": "0.45.10",
34
+ "@redocly/portal-plugin-mock-server": "0.3.58",
35
+ "@redocly/theme": "0.45.11",
36
36
  "@redocly/xml-crypto": "3.0.1",
37
37
  "@tanstack/react-query": "4.0.5",
38
38
  "@wojtekmaj/react-datetimerange-picker": "5.0.2",
@@ -84,7 +84,7 @@
84
84
  "web-vitals": "3.3.1",
85
85
  "ws": "^8.17.1",
86
86
  "yaml-ast-parser": "0.0.43",
87
- "@redocly/config": "0.17.1"
87
+ "@redocly/config": "0.18.0"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "react": "^18.0.0",