XMPP Service Operators - 2026-04-29


  1. jaj

    Talking about permissions and RBAC, I wonder if anybody knows the state of SSO support. My understanding is servers implement it but clients don't. I've seen organizations choose Matrix over XMPP for this reason

  2. stratself

    i was able to get LDAP working with ejabberd auth. It basically just forwards the plaintext password to the LDAP backend. Having OIDC would be much better than this imo

  3. Guus

    Openfire and Spark can support SSO, although it is dated.

  4. jaj

    I think the key is XEP-0493: OAuth Client Login. Servers (like prosody) implement it but I don't think any client implements it

  5. Kris

    I am still hoping Singpolyma will polish his PoC for OIDC login for Movim and make a PR.

  6. Kris

    at least if I remember correctly he said it exists but unpublished and hacky

  7. singpolyma

    it was a few years ago but yes I did do that. I think it's still around here somewhere on my pc

    ❤️ 2👍 1
  8. erebion

    > Talking about permissions and RBAC, I wonder if anybody knows the state of SSO support. My understanding is servers implement it but clients don't. I've seen organizations choose Matrix over XMPP for this reason Pretty sure that's why Mozilla uses Matrix, it's just easy to integrate with Mozilla Accounts and it is always easy to follow something that has somewhat of a hype, as most people will not think much about it

  9. erebion

    > i was able to get LDAP working with ejabberd auth. It basically just forwards the plaintext password to the LDAP backend. Having OIDC would be much better than this imo How do you configure this? I have never used or looked at LDAP and the docs look completely alien to me. (To me it seems easier to port the kernel to a phone, at least I have in idea what I'm doing there xD)

  10. erebion

    > I think the key is XEP-0493: OAuth Client Login. Servers (like prosody) implement it but I don't think any client implements it Yesterday, I've opened issues with - Monocles: Arne wants to implement it - Monal: They say they are far too understaffed, but will accept contributions - Conversations/Dino/Gajim: no reply (but it's not even been a full day yet)

    👍 1
  11. Kris

    erebion, https://github.com/lldap/lldap/blob/main/example_configs/ejabberd.md

  12. Kris

    should work similar with other LDAP backens

  13. Kris

    should work similar with other LDAP backends

  14. stratself

    yeah i did use lldap and just match 2 by 2. forgot it completely now tho if i ever do it again i'll prolly use kanidm

  15. erebion

    > erebion, https://github.com/lldap/lldap/blob/main/example_configs/ejabberd.md Thanks Still prefer OAuth, LDAP seems to be some arcane sort of magic

  16. jjj333_p [pain.agency]

    > LDAP seems to be some arcane sort of magic most auth seems like that to me

  17. erebion

    good point

  18. hueso

    Yunohost ships with Prosody+LDAP by default (previously Metronome)

  19. Kris

    the main issue with LDAP is that clients like Monal and I think recent versions of Conversations don't allow connection to Plain SASL by default.

  20. Kris

    which can be enabled in the settings, but it is pretty unclear and required technical understanding to figure out what setting does that.

  21. Kris

    so one main SSO benefit of making it easy for non-technical people is lost again.

  22. jaj

    >> erebion, https://github.com/lldap/lldap/blob/main/example_configs/ejabberd.md > Thanks > > Still prefer OAuth, LDAP seems to be some arcane sort of magic Usually OAuth is backed by LDAP eventually, it just adds magic on top, like being logged in to multiple services at once with a common token

  23. jaj

    >> erebion, https://github.com/lldap/lldap/blob/main/example_configs/ejabberd.md > Thanks > > Still prefer OAuth, LDAP seems to be some arcane sort of magic Usually OAuth is backed by LDAP eventually, it just adds magic on top, like being logged in to multiple services at once with a common token. From what I've seen, usually Keycloak is used for the OAuth magic and it uses LDAP or ActiveDirectory as a backend for the actual user management

  24. jaj

    When you deploy multiple self-hosted services (cryptpad, nextcloud, wiki, ...) for an organization, they want to have their users logged in once and not require them to login to every service you use. LDAP can make sure you have the same credentials everywhere but it cannot have you logged in across multiple services simultaneously. This is of course more difficult with desktop and smartphone clients but should be possible to interate cleanly with Movim for example

  25. erebion

    > which can be enabled in the settings, but it is pretty unclear and required technical understanding to figure out what setting does that. Good point, that would lead to too many support requests and/or unhappy users, even at my hackerspace, so I'll not use LDAP.

  26. erebion

    > When you deploy multiple self-hosted services (cryptpad, nextcloud, wiki, ...) for an organization, they want to have their users logged in once and not require them to login to every service you use. LDAP can make sure you have the same credentials everywhere but it cannot have you logged in across multiple services simultaneously. This is of course more difficult with desktop and smartphone clients but should be possible to interate cleanly with Movim for example It's not really about avoiding logging in multiple times, it's about avoiding maintaining 8 user databases with their own set of access rights :)

  27. hueso

    > Good point, that would lead to too many support requests and/or unhappy users, even at my hackerspace, so I'll not use LDAP. Yunohost uses LDAP for everything and Plain SASL is not needed, can connect just fine with any client.

  28. Kris

    that is impossible. Maybe the clients you use are ok with Plain SASL by default

  29. Kris

    (at least until xmpp servers implement sasl passthrough)

  30. singpolyma

    I mean, if your LDAP server supports other SASL mechs?

  31. Kris

    how would the xmpp server know? Afaik both Prosody and Ejabberd only support SASL plain with LDAP

  32. singpolyma

    If it passed sasl through instead of translating it wouldn't have to know. But I haven't worked with LDAP in a very long time

  33. Kris

    for Prosody it was at least discussed to support more advanced SASL methods with LDAP, but apparently the upstream lua library would first need support for that.

  34. Kris

    yes, but the xmpp server doesn't know how to pass it directly to the LDAP server, which is the problem

  35. singpolyma

    As in doesn't have code for that? Sure

  36. Kris

    well, right now it isn't implemented and Yunohost+Prosody certainly doesn't either.

  37. moparisthebest

    > erebion, https://github.com/lldap/lldap/blob/main/example_configs/ejabberd.md wow that looks awesome, last time I looked at available ldap servers to self host I ran away screaming

  38. hueso

    Been using Conversations/Dino/Gajim + Yunohost for years. No fancy conf needed.

  39. Kris

    moparisthebest, kanidm is also nice and includes a read-only LDAP for legacy apps.

  40. Kris

    I just wish it had a self-service signup option

  41. Kris

    hueso, then you are on an old version of Conversations or did configure it at some point.

  42. Kris

    Dino and Gajim doesn't require it

  43. moparisthebest

    > RADIUS for network and VPN authentication wow the other thing I needed, can you just start sending me all the software you find Kris 😁 thanks again

    👍 1
  44. hueso

    > hueso, then you are on an old version of Conversations or did configure it at some point. not only me but many of my normie friends running recent versions, I'm pretty sure they didn't went thru some obscure options to log in. IDK how ynh does it but it just works

  45. Kris

    maybe I am mistaken and it isn't default on Conversations yet. But the dev said it will be in the future.

  46. Kris

    it is definitly the default on Monal though

  47. hueso

    I don't have any iFruit device at hand to test that

  48. freespoken.nz

    I've never tried it, but I think FreedomBox has a single sign-on system, and JSXC is one of the apps available in it. But I can't check the documentation right now, because wiki.debian.org isn't responding.

  49. Kris

    JSXC had a special SSO system yes. completely custom though

  50. freespoken.nz

    It finally loaded! > Many apps with web interface in FreedomBox support single sign-on using OpenID Connect. This means that if you are logged into FreedomBox web interface, there is no need to login to the app separately. Other apps support using the FreedomBox user accounts via LDAP. Finally, there are some apps that manage their own user accounts separate from the accounts you have in FreedomBox. And in FreedomBox's documentation for ejabberd: > Currently, all users created through FreedomBox will be able to login to the XMPP server. So it might be same passphrase, but not automatically logged in? Or only automatically logged in if you're using JSXC from the same server, but you can still log in with the same passphrase in other clients?