Nextcloud OIDC integration
-
@girish Proposition to change the OpenID Identifier from "Cloudron" to "OpenID" or "SSO" since we can't have the branding from the Cloudron instance
-
@girish Since my installation is user not managed by Cloudron so I can't enable OIDC (but not just this, I can't curl the OIDC Server eventhough it's the same Cloudron server),i just want to let know the issue that I experience lately, after I updated Nextcloud including latest update with DNS Pinning, after update I can't login since the LDAP and Group Backend disabled automaticall after update, so i have to enable manually in Nextcloud Apps, the config in Nextcloud Setting for LDAP/AD Integration is a bit different than previously before update but anywhow I can still login back normally. Please be aware of this issue. Thanks
@firmansi the auth mechanism is chosen at install time. if you go behind cloudron's back and make changes to the app configuration, this will eventually not work. in your situation, you have installation nextcloud without LDAP/OIDC and then later configuring it inside the app manually. This won't work and is not supported. The way to fix this is like this:
- take backup of your nextcloud. download the backup configuration of this new backup
- install new nextcloud with cloudron user management
- import the backup from setup 1 . app -> backups -> import
It will work after this.
-
Do you mean I simply back up in Cloudron? From my understanding, if I do the back up from Cloudron, then when I do the import, it will adjust to the old one without user management managed by Cloudron, please let me know if my assumption is wrong
-
@firmansi the auth mechanism is chosen at install time. if you go behind cloudron's back and make changes to the app configuration, this will eventually not work. in your situation, you have installation nextcloud without LDAP/OIDC and then later configuring it inside the app manually. This won't work and is not supported. The way to fix this is like this:
- take backup of your nextcloud. download the backup configuration of this new backup
- install new nextcloud with cloudron user management
- import the backup from setup 1 . app -> backups -> import
It will work after this.
-
@firmansi the auth mechanism is chosen at install time. if you go behind cloudron's back and make changes to the app configuration, this will eventually not work. in your situation, you have installation nextcloud without LDAP/OIDC and then later configuring it inside the app manually. This won't work and is not supported. The way to fix this is like this:
- take backup of your nextcloud. download the backup configuration of this new backup
- install new nextcloud with cloudron user management
- import the backup from setup 1 . app -> backups -> import
It will work after this.
@joseph It seems the OIDC is working now, something wrong with Cloudflare that affect my Cloudron Installation,and follow your instruction I don exactly the same, backup and import, but now the Nextcloud is not responding with this error message
Feb 09 21:49:20 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.17:80 Feb 09 21:49:20 No such app enabled: user_ldap Feb 09 21:49:20 ==> Ensure OIDC settings Feb 09 21:49:21 Error: Could not download app user_oidc Feb 09 21:49:22 2025-02-09T21:49:22+07:00 Feb 09 21:49:22 Feb 09 21:49:22 There are no commands defined in the "user_oidc" namespace.
-
@joseph It seems the OIDC is working now, something wrong with Cloudflare that affect my Cloudron Installation,and follow your instruction I don exactly the same, backup and import, but now the Nextcloud is not responding with this error message
Feb 09 21:49:20 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.17:80 Feb 09 21:49:20 No such app enabled: user_ldap Feb 09 21:49:20 ==> Ensure OIDC settings Feb 09 21:49:21 Error: Could not download app user_oidc Feb 09 21:49:22 2025-02-09T21:49:22+07:00 Feb 09 21:49:22 Feb 09 21:49:22 There are no commands defined in the "user_oidc" namespace.
@firmansi said in Nextcloud OIDC integration:
Feb 09 21:49:21 Error: Could not download app user_oidc
This seems to be the issue. Can you put the app in repair mode and try
sudo -u www-data php /app/code/occ app:install user_oidc
? Maybe some dns or network related issue preventing it from download the app from nextcloud's store -
@firmansi said in Nextcloud OIDC integration:
Feb 09 21:49:21 Error: Could not download app user_oidc
This seems to be the issue. Can you put the app in repair mode and try
sudo -u www-data php /app/code/occ app:install user_oidc
? Maybe some dns or network related issue preventing it from download the app from nextcloud's store -
@joseph Well, I think before I backup,i have to install the user_oidc first, because the container even can't start, I am doing the 2nd try
-
@firmansi I see. So, just to be clear: a fresh install of nextcloud with cloudron user management works? and you can also oidc login? the import should also work if that is the case (i.e it's not a network issue then)
@joseph Yes it works. it's a network issue, even I still don't know why it happens, I don't use any proxy in Cloudflare but anyway, how to change Identifier for the OIDC ? I have change the brand name as well when I see in env | grep CLOUDRON_OIDC, but still the identifier name still Cloudron in Registered Providers in Nextcloud OpenID backend integration
-
@firmansi I see. So, just to be clear: a fresh install of nextcloud with cloudron user management works? and you can also oidc login? the import should also work if that is the case (i.e it's not a network issue then)
@joseph All good. I can change the identifier too or the brand name shown in button.
I simply check env | grep CLOUDRON_OIDC and then delete the existing Registered Provider, and then create new Registered Provider by input the Identifier name as I wish and then input all parameters in CLOUDRON_OIDC
-
@joseph All good. I can change the identifier too or the brand name shown in button.
I simply check env | grep CLOUDRON_OIDC and then delete the existing Registered Provider, and then create new Registered Provider by input the Identifier name as I wish and then input all parameters in CLOUDRON_OIDC
@firmansi said in Nextcloud OIDC integration:
I simply check env | grep CLOUDRON_OIDC and then delete the existing Registered Provider, and then create new Registered Provider by input the Identifier name as I wish and then input all parameters in CLOUDRON_OIDC
I doubt that'll survive an app restart.
But as @andreasdueren suggested above, given the Nextcloud OIDC app doesn't support displaying brand name, I wonder if @staff could rename the provider to something more generic like "Open ID Connect" or "OIDC"?
-
@firmansi said in Nextcloud OIDC integration:
I simply check env | grep CLOUDRON_OIDC and then delete the existing Registered Provider, and then create new Registered Provider by input the Identifier name as I wish and then input all parameters in CLOUDRON_OIDC
I doubt that'll survive an app restart.
But as @andreasdueren suggested above, given the Nextcloud OIDC app doesn't support displaying brand name, I wonder if @staff could rename the provider to something more generic like "Open ID Connect" or "OIDC"?
@jdaviescoates Correct, the deletion back again after restart, but I am okay with this because this default setting actually acts like a guidance for me in case I forget default Cloudron setting that I can apply to other OIDC, I can simply just delete the default Brand Name button without affecting anything, including new Registered Provider I have set up
-
@firmansi said in Nextcloud OIDC integration:
I simply check env | grep CLOUDRON_OIDC and then delete the existing Registered Provider, and then create new Registered Provider by input the Identifier name as I wish and then input all parameters in CLOUDRON_OIDC
I doubt that'll survive an app restart.
But as @andreasdueren suggested above, given the Nextcloud OIDC app doesn't support displaying brand name, I wonder if @staff could rename the provider to something more generic like "Open ID Connect" or "OIDC"?
@jdaviescoates said in Nextcloud OIDC integration:
I wonder if @staff could rename the provider to something more generic like "Open ID Connect" or "OIDC"?
Those terms are just generic technology terms. One should always have "Login with <provider>" . Like Login with gmail, Login with Github etc. Login with OIDC doesn't actually mean anything (unless it's providing some dropdown of providers after clicking the button). I think we should open a bug report upstream, seems easy to fix
-
I've had some issues with 2FA and nextcloud. On my android phone the freshly installed nextcloud app opens a browser page, I click "cloudron login" and get an error about
Access forbidden State token does not match
After retrying "it just works" TM
Also I used a new account to get into nextcloud, on my PC / firefox, and went to use my normal account afterwards but it automatically goes to the new account, is there a cookie / cached token or something I can delete to fix this? Clearing the entire cache is annoying.
-
I've had some issues with 2FA and nextcloud. On my android phone the freshly installed nextcloud app opens a browser page, I click "cloudron login" and get an error about
Access forbidden State token does not match
After retrying "it just works" TM
Also I used a new account to get into nextcloud, on my PC / firefox, and went to use my normal account afterwards but it automatically goes to the new account, is there a cookie / cached token or something I can delete to fix this? Clearing the entire cache is annoying.
@AartJansen I think you'll need to logout of your my.domain to logout then login again using the account you want to use. I now make more use of Firefox containers
-
-
This may be an exotic case:
I am running a Nextcloud instance where LDAP is enabled. Uses of the institution thereby have cloudron LDAP accounts that reflect into the Nextcloud instance.
Now the same institution is creating Nextcloud user accounts within Nextcloud. These users are signing up directly to the Nextcloud instance and not to the parent Cloudron instance. Their profiles do not appear in Cloudron's LDAP directory.
This results in two types of users. The institution must be able to create user accounts for external collaborators within the Nextcloud instance. They do not need to be Cloudron users.
Will the upgrade to OIDC affect the user accounts only created within the Nextcloud instance?
User Management is enabled for the Nextcloud app. Non-Cloudron Nextcloud-only accounts exist and are behaving normally right now.
The institution is in the process of creating 100+ Nextcloud accounts. Any recommendations before sh*t hits the fan?
-
@whitespace good question. IIUC, what you are asking is if there is an account in nextcloud and cloudron, then what happens after the migration ? Does the nextcloud local account get converted into an OIDC account . Did I get that right ? (I have to test, don't have an answer)
-
Basically yes. Here is the scenario in chronological order.
- Fresh Nextcloud is installed on Cloudron instance pre-OIDC, user management being set to Cloudron, not Nextcloud
- Accounts are created via Cloudron user management
- Users start using Nextcloud
- Users create more accounts within Nextcloud
- Accounts created within Nextcloud do not sync back to Cloudron user directory. This was not seen as a problem since these local users were able to login into Nextcloud which is all they needed.
- Nextcloud gets updated to OIDC version.
- Accounts that were LDAP Cloudron accounts can not login via Nextcloud login form anymore. They have to "Login with Cloudron".
- Accounts that were created within Nextcloud and did not reflect into Cloudron user directory can not log in anymore.
This is where we are now. The two problems summarized being:
- Nextcloud accounts that do not exist in the Cloudron directory can not login into Nextcloud anymore.
- Cloudron accounts that used to login with their Cloudron credentials into Nextcloud's login form, can not login directly. They have to "Login with Cloudron", get redirected to Cloudron's app specific login screen and only after that they are logged in into Nextcloud.
Expected behaviour:
- Nextcloud accounts that do not exist in Cloudron user directory should be able to log in via Nextcloud login form.
- Cloudron accounts should be able to login with their Cloudron credentials without the need of "Login with Cloudron" just by typing their Cloudron credentials into Nextcloud's login form.
-
Basically yes. Here is the scenario in chronological order.
- Fresh Nextcloud is installed on Cloudron instance pre-OIDC, user management being set to Cloudron, not Nextcloud
- Accounts are created via Cloudron user management
- Users start using Nextcloud
- Users create more accounts within Nextcloud
- Accounts created within Nextcloud do not sync back to Cloudron user directory. This was not seen as a problem since these local users were able to login into Nextcloud which is all they needed.
- Nextcloud gets updated to OIDC version.
- Accounts that were LDAP Cloudron accounts can not login via Nextcloud login form anymore. They have to "Login with Cloudron".
- Accounts that were created within Nextcloud and did not reflect into Cloudron user directory can not log in anymore.
This is where we are now. The two problems summarized being:
- Nextcloud accounts that do not exist in the Cloudron directory can not login into Nextcloud anymore.
- Cloudron accounts that used to login with their Cloudron credentials into Nextcloud's login form, can not login directly. They have to "Login with Cloudron", get redirected to Cloudron's app specific login screen and only after that they are logged in into Nextcloud.
Expected behaviour:
- Nextcloud accounts that do not exist in Cloudron user directory should be able to log in via Nextcloud login form.
- Cloudron accounts should be able to login with their Cloudron credentials without the need of "Login with Cloudron" just by typing their Cloudron credentials into Nextcloud's login form.
@whitespace said in Nextcloud OIDC integration:
Cloudron accounts should be able to login with their Cloudron credentials without the need of "Login with Cloudron" just by typing their Cloudron credentials into Nextcloud's login form.
This one is not possible. Cloudron accounts have to use the 'Login with Cloudron' button to login . At a platform level, we have standardized on OIDC and where possible the package has been switched to use this.
But apart from that, I suggest just installing a test instance of nextcloud or a clone of your current nextcloud and check out what happens on the upgrade path.
-
@whitespace said in Nextcloud OIDC integration:
Cloudron accounts should be able to login with their Cloudron credentials without the need of "Login with Cloudron" just by typing their Cloudron credentials into Nextcloud's login form.
This one is not possible. Cloudron accounts have to use the 'Login with Cloudron' button to login . At a platform level, we have standardized on OIDC and where possible the package has been switched to use this.
But apart from that, I suggest just installing a test instance of nextcloud or a clone of your current nextcloud and check out what happens on the upgrade path.
@joseph said in Nextcloud OIDC integration:
This one is not possible. Cloudron accounts have to use the 'Login with Cloudron' button to login . At a platform level, we have standardized on OIDC and where possible the package has been switched to use this.
It kinda make sense that this is not possible, and while it may be confusing for existing users to now have to login in a different way, it makes login in more convenient overall.
However, it would still be great to have some sort of mapping from OIDC credentials to user credential in Nextcloud, as beyond just logging in, OIDC currently makes it rather awkward to connect to other part of Nextcloud. For example, according to this guide, syncing calendars via CalDAV requires you set-up a separate app login, which pretty much defeats the point of a SSO/OIDC set-up. Frankly, for anyone doing anything else than login into Nextcloud from the web interface (syncing calendars, syncing joplin notes, or using any other app that connect to nextcloud via username and password), the new OIDC set-up is more awkward and complicated than LDAP.
Is such a mapping be possible at all, like it is with LDAP??