Logging into Discourse with a GNOME account

If you used to use LDAP to log into GNOME’s Discourse instance, you’ll notice that the option is not there any more. Discourse now uses the same Keycloak integration as other GNOME services.

Sadly, the migration process is a bit more manual than we’d like, so here are some quick instructions on how to move from the LDAP credentials to Keycloak:

  1. get new credentials for your Discourse account
    • if you are already logged in: go to your account Preferences, and into the Security tab; from there, press the “Send Password Reset Email” and choose a password for your account
    • if you are not already logged in: reset your password from the log in page
  2. log out of your Discourse account
  3. when prompted to log in again, select the GNOME SSO Connect method
  4. you’ll be redirected to the Keycloak page, where you’ll be able to enter your GNOME account credentials (and use 2FA, if you already enabled it)
  5. Discourse will prompt you to create a new account, or select an existing account to be merged by using the “Log In” link; this is the slightly messy bit
    • if you did not update your credentials in step 1: ask Discourse to send a login link
  6. you need to use the “Log In” link, and enter your user name and the password you provided in step 1

This is a one time operation: after the Keycloak and Discourse accounts are merged, you’ll be able to use Keycloak as usual, on any machine.

3 Likes

I had much difficulty with steps 5 and 6 above, and beyond. The thing just wouldn’t associate, it was complaining that the email address and username were already taken (duh) even when I was using a login link, etc.

It turns out that what worked for me was:

  • Realizing that, apparently, a regular user login+password still works as a login method, even without SSO and even without a special login link;
  • Discovering that you can actually link the GNOME SSO manually from your user account’s preferences page.

With these discoveries in mind, what allowed me to finally merge (I think? I hope?) the two facets of the account was to go to https://discourse.gnome.org/u/YOUR_USERNAME_HERE/preferences/account, look at the “Associated Accounts” section (within “Preferences > Account”), where you can find Google, GitHub and GNOME SSO. There, next to GNOME SSO, I clicked the “Connect” button, and I think that did the trick.

Right now, I can login either with standalone username+password, or via the GNOME SSO method. I presume that is the expected outcome.