Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Nextcloud
  3. Nextcloud OIDC integration

Nextcloud OIDC integration

Scheduled Pinned Locked Moved Nextcloud
111 Posts 10 Posters 8.0k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • andreasduerenA andreasdueren

      @Joseph Is this something you're interested in debugging? Otherwise I'll just wipe the machine and install fresh

      J Offline
      J Offline
      joseph
      Staff
      wrote on last edited by
      #61

      @andreasdueren yes, we would like to take a quick look, if possible. Maybe it's something obvious we miss in the package or something else

      1 Reply Last reply
      2
      • girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #62

        @andreasdueren thanks for the access! I am making a new package to fix the issue.

        For those interested, here is the technical information:

        • On some VPS providers, when you create a VM with hostname my.foo.com , it will put an entry in /etc/hosts of the server with 127.0.1.1 .

        • Starting Cloudron 8, we started using Docker for the DNS resolution. Docker reads /etc/hosts and starts resolving my.foo.com to 127.0.1.1 .

        • This meant that for apps (which are running in containers) using the domain name my.foo.com (like OIDC service) does not work. This is because it's resolving to 127.0.1.1.

        • To workaround this, we added ExtraHosts to container config. Docker simply adds entries to /etc/hosts of the container. Now, when apps try to resolve my.foo.com they will resolve to 172.18.0.1 because /etc/hosts has more priority than DNS look up.

        • This works for all apps... except nextcloud has decided to implement some DNS pinning protection which I think is to prevent against DNS Rebinding attacks. This code looks up DNS directly (thus skipping /etc/hosts lookup) and thus ends up with 127.0.1.1 😕 It blocks the access thinking it's an attack.

        • Luckily, there is a config dns_pinning to disable this functionality.

        See also https://github.com/nextcloud/server/issues/42901

        andreasduerenA 1 Reply Last reply
        3
        • girishG girish

          @andreasdueren thanks for the access! I am making a new package to fix the issue.

          For those interested, here is the technical information:

          • On some VPS providers, when you create a VM with hostname my.foo.com , it will put an entry in /etc/hosts of the server with 127.0.1.1 .

          • Starting Cloudron 8, we started using Docker for the DNS resolution. Docker reads /etc/hosts and starts resolving my.foo.com to 127.0.1.1 .

          • This meant that for apps (which are running in containers) using the domain name my.foo.com (like OIDC service) does not work. This is because it's resolving to 127.0.1.1.

          • To workaround this, we added ExtraHosts to container config. Docker simply adds entries to /etc/hosts of the container. Now, when apps try to resolve my.foo.com they will resolve to 172.18.0.1 because /etc/hosts has more priority than DNS look up.

          • This works for all apps... except nextcloud has decided to implement some DNS pinning protection which I think is to prevent against DNS Rebinding attacks. This code looks up DNS directly (thus skipping /etc/hosts lookup) and thus ends up with 127.0.1.1 😕 It blocks the access thinking it's an attack.

          • Luckily, there is a config dns_pinning to disable this functionality.

          See also https://github.com/nextcloud/server/issues/42901

          andreasduerenA Offline
          andreasduerenA Offline
          andreasdueren
          wrote on last edited by
          #63

          @girish So I should add 'dns_pinning' => false, to the config file?

          girishG 1 Reply Last reply
          1
          • andreasduerenA andreasdueren

            @girish So I should add 'dns_pinning' => false, to the config file?

            girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #64

            @andreasdueren yes, pretty much. https://git.cloudron.io/packages/nextcloud-app/-/merge_requests/12

            andreasduerenA 2 Replies Last reply
            1
            • girishG girish

              @andreasdueren yes, pretty much. https://git.cloudron.io/packages/nextcloud-app/-/merge_requests/12

              andreasduerenA Offline
              andreasduerenA Offline
              andreasdueren
              wrote on last edited by
              #65

              @girish Works perfectly now, thanks!

              1 Reply Last reply
              2
              • andreasduerenA Offline
                andreasduerenA Offline
                andreasdueren
                wrote on last edited by
                #66

                Migration of a smaller instance seems to work smoothly so far.

                1 Reply Last reply
                1
                • firmansiF Offline
                  firmansiF Offline
                  firmansi
                  wrote on last edited by firmansi
                  #67

                  @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

                  J 1 Reply Last reply
                  0
                  • girishG girish

                    @andreasdueren yes, pretty much. https://git.cloudron.io/packages/nextcloud-app/-/merge_requests/12

                    andreasduerenA Offline
                    andreasduerenA Offline
                    andreasdueren
                    wrote on last edited by
                    #68

                    @girish Proposition to change the OpenID Identifier from "Cloudron" to "OpenID" or "SSO" since we can't have the branding from the Cloudron instance

                    1 Reply Last reply
                    1
                    • firmansiF firmansi

                      @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

                      J Offline
                      J Offline
                      joseph
                      Staff
                      wrote on last edited by
                      #69

                      @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.

                      firmansiF 2 Replies Last reply
                      3
                      • firmansiF Offline
                        firmansiF Offline
                        firmansi
                        wrote on last edited by firmansi
                        #70

                        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

                        1 Reply Last reply
                        0
                        • J joseph

                          @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.

                          firmansiF Offline
                          firmansiF Offline
                          firmansi
                          wrote on last edited by
                          #71

                          @joseph I can't curl https://my.domain.com/.well-known/openid-configuration , any suggestion what should I check?

                          1 Reply Last reply
                          0
                          • J joseph

                            @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.

                            firmansiF Offline
                            firmansiF Offline
                            firmansi
                            wrote on last edited by firmansi
                            #72

                            @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.
                            
                            J 1 Reply Last reply
                            0
                            • firmansiF firmansi

                              @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.
                              
                              J Offline
                              J Offline
                              joseph
                              Staff
                              wrote on last edited by
                              #73

                              @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

                              firmansiF 1 Reply Last reply
                              0
                              • J joseph

                                @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

                                firmansiF Offline
                                firmansiF Offline
                                firmansi
                                wrote on last edited by
                                #74

                                @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

                                J 1 Reply Last reply
                                0
                                • firmansiF firmansi

                                  @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

                                  J Offline
                                  J Offline
                                  joseph
                                  Staff
                                  wrote on last edited by
                                  #75

                                  @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)

                                  firmansiF 2 Replies Last reply
                                  0
                                  • J joseph

                                    @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)

                                    firmansiF Offline
                                    firmansiF Offline
                                    firmansi
                                    wrote on last edited by firmansi
                                    #76

                                    @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

                                    1 Reply Last reply
                                    0
                                    • J joseph

                                      @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)

                                      firmansiF Offline
                                      firmansiF Offline
                                      firmansi
                                      wrote on last edited by
                                      #77

                                      @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

                                      jdaviescoatesJ 1 Reply Last reply
                                      0
                                      • firmansiF firmansi

                                        @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

                                        jdaviescoatesJ Offline
                                        jdaviescoatesJ Offline
                                        jdaviescoates
                                        wrote on last edited by
                                        #78

                                        @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"?

                                        I use Cloudron with Gandi & Hetzner

                                        firmansiF J 2 Replies Last reply
                                        0
                                        • jdaviescoatesJ jdaviescoates

                                          @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"?

                                          firmansiF Offline
                                          firmansiF Offline
                                          firmansi
                                          wrote on last edited by firmansi
                                          #79

                                          @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

                                          1 Reply Last reply
                                          0
                                          • jdaviescoatesJ jdaviescoates

                                            @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"?

                                            J Offline
                                            J Offline
                                            joseph
                                            Staff
                                            wrote on last edited by
                                            #80

                                            @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

                                            1 Reply Last reply
                                            4
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes


                                              • Login

                                              • Don't have an account? Register

                                              • Login or register to search.
                                              • First post
                                                Last post
                                              0
                                              • Categories
                                              • Recent
                                              • Tags
                                              • Popular
                                              • Bookmarks
                                              • Search