fix: try to avoid prompting basic authentication dialog on browsers, as it's meant only for download managers

Massimo Melina committed Aug 3, 2022 at 11:35 UTC 7efc1da382e24590baca586e3a92a3ea46d18b11
1 file changed +3 -1
server/src/middlewares.ts
+3 -1
@@ -79,7 +79,9 @@ export const serveGuiAndSharedFiles: Koa.Middleware = async (ctx, next) => {
79 ctx.status = cantReadStatusCode(node)
80 if (ctx.status === FORBIDDEN)
81 return
82 - ctx.set('WWW-Authenticate', 'Basic') // we support basic authentication
82 + const browserDetected = ctx.get('Upgrade-Insecure-Requests') || ctx.get('Sec-Fetch-Mode') // ugh, heuristics
83 + if (!browserDetected) // we don't want to trigger basic authentication on browsers, it's meant for download managers only
84 + ctx.set('WWW-Authenticate', 'Basic') // we support basic authentication
85 return serveFrontendFiles(ctx, next)
86 }
87 ctx.set({ server:'HFS '+BUILD_TIMESTAMP })