Skip to content

Commit

Permalink
[mirotalksfu] - Enable OIDC support for alias domains with dynamic ba…
Browse files Browse the repository at this point in the history
…seURL
  • Loading branch information
miroslavpejic85 committed Jan 31, 2025
1 parent ddca05a commit 6da22eb
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 13 deletions.
31 changes: 23 additions & 8 deletions app/src/Server.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ dev dependencies: {
* @license For commercial or closed source, contact us at [email protected] or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - [email protected]
* @version 1.7.21
* @version 1.7.22
*
*/

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mirotalksfu",
"version": "1.7.21",
"version": "1.7.22",
"description": "WebRTC SFU browser-based video calls",
"main": "Server.js",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion public/js/Brand.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ let BRAND = {
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: '<strong>WebRTC SFU v1.7.21</strong>',
title: '<strong>WebRTC SFU v1.7.22</strong>',
html: `
<button
id="support-button"
Expand Down
4 changes: 2 additions & 2 deletions public/js/Room.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
* @license For commercial or closed source, contact us at [email protected] or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - [email protected]
* @version 1.7.21
* @version 1.7.22
*
*/

Expand Down Expand Up @@ -4905,7 +4905,7 @@ function showAbout() {
position: 'center',
imageUrl: BRAND.about?.imageUrl && BRAND.about.imageUrl.trim() !== '' ? BRAND.about.imageUrl : image.about,
customClass: { image: 'img-about' },
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.7.21',
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.7.22',
html: `
<br />
<div id="about">
Expand Down
2 changes: 1 addition & 1 deletion public/js/RoomClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* @license For commercial or closed source, contact us at [email protected] or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - [email protected]
* @version 1.7.21
* @version 1.7.22
*
*/

Expand Down

0 comments on commit 6da22eb

Please sign in to comment.