[mirotalksfu] - Enable OIDC support for alias domains with dynamic baseURL

هذا الالتزام موجود في:
Miroslav Pejic
2025-02-01 00:17:11 +01:00
الأصل ddca05a4de
التزام 6da22eb46c
5 ملفات معدلة مع 28 إضافات و13 حذوفات

عرض الملف

@@ -58,7 +58,7 @@ dev dependencies: {
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.7.21
* @version 1.7.22
*
*/
@@ -414,14 +414,29 @@ function startServer() {
}
});
// OpenID Connect
// OpenID Connect - Dynamically set baseURL based on incoming host and protocol
if (OIDC.enabled) {
try {
app.use(auth(OIDC.config));
} catch (err) {
log.error(err);
process.exit(1);
}
const getDynamicConfig = (host, protocol) => {
const baseURL = `${protocol}://${host}`;
log.debug('OIDC baseURL', baseURL);
return {
...OIDC.config,
baseURL,
};
};
// Apply the authentication middleware using dynamic baseURL configuration
app.use((req, res, next) => {
const host = req.headers.host;
const protocol = req.protocol === 'https' ? 'https' : 'http';
const dynamicOIDCConfig = getDynamicConfig(host, protocol);
try {
auth(dynamicOIDCConfig)(req, res, next);
} catch (err) {
log.error('OIDC Auth Middleware Error', err);
process.exit(1);
}
});
}
// Route to display user information