Email as default username since update to new config set-up is NOT great :)
-
@MiroTalk Looks great! Actually I had just seen this earlier today in your discord channel! I didn't think it'd come handy that quickly for my use case though
I guess this will have to be packaged somehow so it integrates with the MiroTalk apps on Cloudron?
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Looks great! Actually I had just seen this earlier today in your discord channel! I didn't think it'd come handy that quickly for my use case though
Thank you!
You can also use MiroTalk Admin directly from your
local PC
by adding your serverβs SSH credentials to the.env
file.
Then, simply edit thebackend/config.index.js
file (see theAPP_CONFIG
section) to configure it for MiroTalk SFU, or other variants.I've been using it myself for several days to manage and update my demo instances β and so far, it's working great!
-
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Looks great! Actually I had just seen this earlier today in your discord channel! I didn't think it'd come handy that quickly for my use case though
Thank you!
You can also use MiroTalk Admin directly from your
local PC
by adding your serverβs SSH credentials to the.env
file.
Then, simply edit thebackend/config.index.js
file (see theAPP_CONFIG
section) to configure it for MiroTalk SFU, or other variants.I've been using it myself for several days to manage and update my demo instances β and so far, it's working great!
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
I've been using it myself for several days to manage and update my demo instances
Amazing! Just to make sure, do you mean your demo instances also hosted on Cloudron? I'm asking because I fear the apps are more isolated using Cloudron than if installed directly as docker containers. For e.g. we don't easily access the config.index.js file on Cloudron (app packages are read only and get overridden with each updates AFAIK).
Maybe that's one for @staff to look into?
-
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
I've been using it myself for several days to manage and update my demo instances
Amazing! Just to make sure, do you mean your demo instances also hosted on Cloudron? I'm asking because I fear the apps are more isolated using Cloudron than if installed directly as docker containers. For e.g. we don't easily access the config.index.js file on Cloudron (app packages are read only and get overridden with each updates AFAIK).
Maybe that's one for @staff to look into?
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Amazing! Just to make sure, do you mean your demo instances also hosted on Cloudron?
No, our official live demo is hosted on a Hetzner VPS.
I also have a self-hosted version of Cloudron. From what I can see, using the File Manager, you can edit both the .env and config.js files to tailor the setup to your needs.
-
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Amazing! Just to make sure, do you mean your demo instances also hosted on Cloudron?
No, our official live demo is hosted on a Hetzner VPS.
I also have a self-hosted version of Cloudron. From what I can see, using the File Manager, you can edit both the .env and config.js files to tailor the setup to your needs.
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
From what I can see, using the File Manager, you can edit both the .env and config.js files to tailor the setup to your needs.
You can see the config-lagacy.js because your instance was upgraded from a previous version. The file is there just so you can see your old config and migrate them using the env file, but the config-lagacy.js file itself is not used by the app. On a fresh install of the app this file is not there. Just as a test/try I have manually created a config.js file in that directory and added the lines you mentioned:
oidc: { // ... peer_name: { force: true, email: false, // --> set to false name: true, // --> display the user's name from OIDC instead of their email }, // ... }
...but this has no effect.
-
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
From what I can see, using the File Manager, you can edit both the .env and config.js files to tailor the setup to your needs.
You can see the config-lagacy.js because your instance was upgraded from a previous version. The file is there just so you can see your old config and migrate them using the env file, but the config-lagacy.js file itself is not used by the app. On a fresh install of the app this file is not there. Just as a test/try I have manually created a config.js file in that directory and added the lines you mentioned:
oidc: { // ... peer_name: { force: true, email: false, // --> set to false name: true, // --> display the user's name from OIDC instead of their email }, // ... }
...but this has no effect.
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
You can see the config-lagacy.js because your instance was upgraded from a previous version. The file is there just so you can see your old config and migrate them using the env file, but the config-lagacy.js file itself is not used by the app.
OK, I think I understand the issue now. Cloudron retains the upstream config.js file as the default. To make changes, you're expected to use only the .env file. However, not all configuration options are currently supported there. For instance, setting the displayed username when OIDC is enabled can only be configured in config.js for now.
To address the issue with the OIDC display name, I need to make it configurable via the .env file.
-
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
You can see the config-lagacy.js because your instance was upgraded from a previous version. The file is there just so you can see your old config and migrate them using the env file, but the config-lagacy.js file itself is not used by the app.
OK, I think I understand the issue now. Cloudron retains the upstream config.js file as the default. To make changes, you're expected to use only the .env file. However, not all configuration options are currently supported there. For instance, setting the displayed username when OIDC is enabled can only be configured in config.js for now.
To address the issue with the OIDC display name, I need to make it configurable via the .env file.
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
OK, I think I understand the issue now. Cloudron retains the upstream config.js file as the default. To make changes, you're expected to use only the .env file. However, not all configuration options are currently supported there. For instance, setting the displayed username when OIDC is enabled can only be configured in config.js for now.
Exactly!
@MiroTalk said in Email as default username since update to new config set-up is NOT great
:
To address the issue with the OIDC display name, I need to make it configurable via the .env file.
If you could that's great. Otherwise perhaps @staff can allow changes to config.js file again. I think they understood that in your new approach to configuration (since MiroTalk SFU 1.8.0), changes by users should only be made via the .env file, and that editing the config.js would never be needed.
-
Coming in MiroTalk SFU v1.8.57
Youβll be able to configure the OIDC username behavior directly from your.env
file. Simply add or update the following entries:OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
These settings give you full control over how usernames are derived from the OIDC provider, but allowing you to edit before join room.
Cheers,
Miroslav -
Coming in MiroTalk SFU v1.8.57
Youβll be able to configure the OIDC username behavior directly from your.env
file. Simply add or update the following entries:OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
These settings give you full control over how usernames are derived from the OIDC provider, but allowing you to edit before join room.
Cheers,
Miroslav@MiroTalk Amazing, thank you so much for your engagement here and for such a swift fix!
Cheers
Gauthier
-
@MiroTalk Amazing, thank you so much for your engagement here and for such a swift fix!
Cheers
Gauthier
@avatar1024 You're very welcome!
I just fixed the typoβsee my previous message.Time to get some sleep now, it's pretty late here
Thanks again for using MiroTalk, and have a great night! -
@staff Thanks for pushing the update that quickly. In addition (maybe next time you push an update) I would suggest making the suggested changes in the .env file so that by default (i.e. on the fresh install of the package) the OIDC behaviour is to use name instead of email as display name and allow display name editing.
-
Unfortunately something isn't working...
I have made the changes so my env file looks like that (first 5 lines are there by default):
All config options at https://github.com/miroslavpejic85/mirotalksfu/blob/main/.env.template PRESENTERS=admin@cloudron.local EMAIL_SEND_TO=admin@cloudron.local STATS_ENABLED=false OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
I have restarted the app, cleared browser's cache, but I still have the same behaviour.
Either something in the changes @mirotalk-57bab571 made didn't work, or another thing I noticed is that in Cloudron package the file is called env and not .env. When I rename env to .env and restart the app, a new env file is automatically created, and it still doesn't work. @staff?
-
Hello @avatar1024
I am taking a look right now.
The file name/app/data/env
is correct. If that file is missing, it will be created again.
Since you moved the file fromenv
to.env
the file was missing and got created again.I am now trying to reproduce your issue with the latest version.
-
I can confirm this seems to have no impact.
Added the following lines to/app/data/env
OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
Cloudron writes this to
/run/mirotalksfu/env
and/run/mirotalksfu/env
is symlinked to/app/code/.env
.
So everything in that/app/data/env
=>/run/mirotalksfu/env
=>/app/code/.env
is loaded, otherwise all the other settings would be missing.But now when checking the
/app/code/app/src/config.js
I see:peer_name: { force: process.env.OIDC_USERNAME_FORCE !== 'false', // Require identity provider authentication email: process.env.OIDC_USERNAME_AS_EMAIL !== 'false', // Request email claim name: process.env.OIDC_USERNAME_AS_NAME === 'true', // Don't require full name }
So from that I can conclude the env vars should be:
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
This now had the desired effect.
I assume what @mirotalk-57bab571 wrote https://forum.cloudron.io/post/107999 was simply a typo or first draft of that variable names.
Solution
Use the following variables in
/app/data/env
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
-
I can confirm this seems to have no impact.
Added the following lines to/app/data/env
OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
Cloudron writes this to
/run/mirotalksfu/env
and/run/mirotalksfu/env
is symlinked to/app/code/.env
.
So everything in that/app/data/env
=>/run/mirotalksfu/env
=>/app/code/.env
is loaded, otherwise all the other settings would be missing.But now when checking the
/app/code/app/src/config.js
I see:peer_name: { force: process.env.OIDC_USERNAME_FORCE !== 'false', // Require identity provider authentication email: process.env.OIDC_USERNAME_AS_EMAIL !== 'false', // Request email claim name: process.env.OIDC_USERNAME_AS_NAME === 'true', // Don't require full name }
So from that I can conclude the env vars should be:
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
This now had the desired effect.
I assume what @mirotalk-57bab571 wrote https://forum.cloudron.io/post/107999 was simply a typo or first draft of that variable names.
Solution
Use the following variables in
/app/data/env
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
@james Brilliant, thank you looking into this, for explaining the logic and for finding the fix!
Gauthier
-
@james Do you think in the future it would make sense:
- for the behaviour described here re display name to become the default on the Cloudron package?
- for users to also have a way to modify the config.js file as it seems like not all options can be changed via the env file?
-
I can confirm this seems to have no impact.
Added the following lines to/app/data/env
OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
Cloudron writes this to
/run/mirotalksfu/env
and/run/mirotalksfu/env
is symlinked to/app/code/.env
.
So everything in that/app/data/env
=>/run/mirotalksfu/env
=>/app/code/.env
is loaded, otherwise all the other settings would be missing.But now when checking the
/app/code/app/src/config.js
I see:peer_name: { force: process.env.OIDC_USERNAME_FORCE !== 'false', // Require identity provider authentication email: process.env.OIDC_USERNAME_AS_EMAIL !== 'false', // Request email claim name: process.env.OIDC_USERNAME_AS_NAME === 'true', // Don't require full name }
So from that I can conclude the env vars should be:
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
This now had the desired effect.
I assume what @mirotalk-57bab571 wrote https://forum.cloudron.io/post/107999 was simply a typo or first draft of that variable names.
Solution
Use the following variables in
/app/data/env
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
@james said in Email as default username since update to new config set-up is NOT great
:
But now when checking the /app/code/app/src/config.js
Also sorry, I feel I should know this by now, but where are the the app code directories? I can't seem to find them when I ssh on the server. In that case how can I would like to view the content of this file.
-
I can confirm this seems to have no impact.
Added the following lines to/app/data/env
OIDC_FORCE_USERNAME=false OIDC_EMAIL_AS_USERNAME=false OIDC_NAME_AS_USERNAME=true
Cloudron writes this to
/run/mirotalksfu/env
and/run/mirotalksfu/env
is symlinked to/app/code/.env
.
So everything in that/app/data/env
=>/run/mirotalksfu/env
=>/app/code/.env
is loaded, otherwise all the other settings would be missing.But now when checking the
/app/code/app/src/config.js
I see:peer_name: { force: process.env.OIDC_USERNAME_FORCE !== 'false', // Require identity provider authentication email: process.env.OIDC_USERNAME_AS_EMAIL !== 'false', // Request email claim name: process.env.OIDC_USERNAME_AS_NAME === 'true', // Don't require full name }
So from that I can conclude the env vars should be:
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
This now had the desired effect.
I assume what @mirotalk-57bab571 wrote https://forum.cloudron.io/post/107999 was simply a typo or first draft of that variable names.
Solution
Use the following variables in
/app/data/env
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
@james said in Email as default username since update to new config set-up is NOT great
:
I assume what @mirotalk-57bab571 wrote https://forum.cloudron.io/post/107999 was simply a typo or first draft of that variable names.
Yes, you're absolutely right β the way you explained it is correct. I actually updated it in my last commit to make it more readable.
OIDC_USERNAME_FORCE=false OIDC_USERNAME_AS_EMAIL=false OIDC_USERNAME_AS_NAME=true
And hereβs a quick explanation of each
default setup
:OIDC_USERNAME_FORCE=true # Forces the username to match the OIDC email or name. # If true, the user won't be able to change their name when joining a room. OIDC_USERNAME_AS_EMAIL=true # Uses the OIDC email as the username. OIDC_USERNAME_AS_NAME=false # Uses the OIDC name as the username.
These options give you full control over how usernames are assigned during OIDC authentication for the meeting.
Note
By default
, theemail
is used as theusername when OIDC is enabled
. This helpsmaintain user identity and trust
, and also ensures that the correct Gravatar is displayed in the room (especially if the camera is off).In this default setup, the username
cannot be edited
by the user when joining a room.However, since MiroTalk SFU is designed to be flexible, this behavior is fully configurable. You can choose whether to use the email, the name, or allow users to set their own name β depending on your needs...
-
@james said in Email as default username since update to new config set-up is NOT great
:
But now when checking the /app/code/app/src/config.js
Also sorry, I feel I should know this by now, but where are the the app code directories? I can't seem to find them when I ssh on the server. In that case how can I would like to view the content of this file.
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Also sorry, I feel I should know this by now, but where are the the app code directories? I can't seem to find them when I ssh on the server. In that case how can I would like to view the content of this file.
That is in the app itself.
You can view that via the web terminal of the app itself. -
@avatar1024 said in Email as default username since update to new config set-up is NOT great
:
Also sorry, I feel I should know this by now, but where are the the app code directories? I can't seem to find them when I ssh on the server. In that case how can I would like to view the content of this file.
That is in the app itself.
You can view that via the web terminal of the app itself.@james said in Email as default username since update to new config set-up is NOT great
:
That is in the app itself.
You can view that via the web terminal of the app itself.Oh yes of course, thanks!
-
Is it possible on the forum for a user to mark a post as the solution / mark a topic as solved?
-
-