YunoHost-Apps / discourse_ynh

Discourse package for YunoHost
https://www.discourse.org/
GNU General Public License v2.0
24 stars 12 forks source link

[Regression 2.8.14~ynh2] Can't login using LDAP #179

Closed ziima closed 3 months ago

ziima commented 6 months ago

Describe the bug

After upgrade of discourse to 2.8.14~ynh2, it's umpossible to login to the discourse using LDAP provider.

Context

Steps to reproduce

Expected behavior

Login passed.

Logs

No relevant logs under yunohost log command.

References

Also reported at https://forum.yunohost.org/t/discourse-unable-to-login-with-admin/29074

ziima commented 6 months ago

I can confirm that Discourse works correctly once downgraded back to 2.8.14~ynh1. The downgrade itself isn't easy.

Downgrade workflow:

  1. Make discourse backup (from the discourse itself, not the Yunohost)
  2. Clone this repo
  3. Checkout 0522164 which corresponds to 2.8.14~ynh1.
  4. Apply patch needed for install to pass
    diff --git a/scripts/install b/scripts/install
    index 9509e6c..aec1f89 100644
    --- a/scripts/install
    +++ b/scripts/install
    @@ -163,7 +163,7 @@ ynh_add_config --template="../conf/secrets.yml" --destination="$final_path/confi
    pushd "$final_path"
        ynh_use_ruby
        # Install bundler, a gems installer
    -       ynh_gem install bundler
    +       ynh_gem install bundler -v 2.4.22
        # Install without documentation
        ynh_exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
    popd
  5. Delete the discourse app
  6. Install the discourse app from the cloned and patched repository
  7. Restore discourse backup
MadMan247 commented 5 months ago

I intend to bump this, as it makes the initial setup impossible:

"Default administrator and YunoHost users must login using LDAP"

Thank you for your efforts!

megavillain commented 4 months ago

Just ran into this issue and stumbled into here.

treved3 commented 4 months ago

Running into the same issue, only difference is this is an install not an upgrade.

Searching for '(ldap) Authentication failure! ldap_error: TypeError, no implicit conversion of Hash into String' I find an issue that has been resolved in january 2023: https://github.com/jonmbake/discourse-ldap-auth/issues/71 and here: https://meta.discourse.org/t/jonmbake-discourse-ldap-auth-ldap-plugin-not-working-after-upgrading-discourse-to-3-0-0-beta16/250979

Not sure what yunohosts stack is in this regard and if it's the same problem.

rodinux commented 3 months ago

I can confirm that Discourse works correctly once downgraded back to 2.8.14~ynh1. The downgrade itself isn't easy.

Downgrade workflow:

1. Make discourse backup (from the discourse itself, not the Yunohost)

2. Clone this repo

3. Checkout `0522164` which corresponds to `2.8.14~ynh1`.

4. Apply patch needed for install to pass
diff --git a/scripts/install b/scripts/install
index 9509e6c..aec1f89 100644
--- a/scripts/install
+++ b/scripts/install
@@ -163,7 +163,7 @@ ynh_add_config --template="../conf/secrets.yml" --destination="$final_path/confi
 pushd "$final_path"
        ynh_use_ruby
        # Install bundler, a gems installer
-       ynh_gem install bundler
+       ynh_gem install bundler -v 2.4.22
        # Install without documentation
        ynh_exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
 popd
5. Delete the discourse app

6. Install the discourse app from the cloned and patched repository

7. Restore discourse backup

I have try without upgrading for a new install

but the install did not work as excepted... I think is not a really good idea to use old scripts not V2 now in Yunohost... I hope this package could be repair...

seems related to #183 and #184

Is there a way to install this application, create a new user not in LDAP and give him admin rights by cli ??

rodinux commented 3 months ago

Running into the same issue, only difference is this is an install not an upgrade.

Searching for '(ldap) Authentication failure! ldap_error: TypeError, no implicit conversion of Hash into String' I find an issue that has been resolved in january 2023: jonmbake/discourse-ldap-auth#71 and here: https://meta.discourse.org/t/jonmbake-discourse-ldap-auth-ldap-plugin-not-working-after-upgrading-discourse-to-3-0-0-beta16/250979

Not sure what yunohosts stack is in this regard and if it's the same problem.

It is strange, in the Gemfile, none of this are present gem 'net-ldap' and no gem 'omniauth-ldap'

Salamandar commented 3 months ago

Fixed by #185