XMPP Service Operators - 2026-04-27


  1. icebound.dev

    > I've wanted to set up an XMPP server for my hackerspace for a long time. We sort of have a rule to only add stuff that does OIDC. How can I do that? > > What options are there? I don't care much whether it is ejabberd, Prosody, Snikket, something else... but OIDC is really important in this case. > > We use Authentik for SSO and Traefik as a reverse proxy, so ACME queries for the XMPP server would also have to be proxied. > > Anyone here using OIDC? What does your setup look like? You would likely need to write a plugin for this

  2. icebound.dev

    I don't see why prosody/ejabberd couldn't integrate into OIDC, using the identities provided and appending the server FQDN to form the JID

  3. icebound.dev

    but to be honest integrating it is likely to be difficult

  4. icebound.dev

    Also this would likely need to be implemented on the client side end as well...

  5. icebound.dev

    this would likely need to be standardised and made into a XEP

  6. jjj333_p [pain.agency]

    > I don't see why prosody/ejabberd couldn't integrate into OIDC, using the identities provided and appending the server FQDN to form the JID afaik on prosody (prob on others too) auth is very modular, its entirely just if the module in question exists

  7. jjj333_p [pain.agency]

    also supposedly lua is easy to write for

  8. icebound.dev

    jjj333_p [pain.agency], server side wouldn't be the hard part IMO, its integrating the client side end

  9. icebound.dev

    OIDC is meant to redirect the client to the auth, and then callback to the server to say it was approved

  10. icebound.dev

    that means every client needs to be supported individually

  11. jjj333_p [pain.agency]

    true, though you could just cheeze normal auth and then make you log in via a dmed link

  12. icebound.dev

    in all honesty having OIDC as a requirement is really stupid.

  13. jjj333_p [pain.agency]

    https://modules.prosody.im/mod_http_oauth2 exists

  14. icebound.dev

    > (we need you!)

  15. icebound.dev

    no client support

  16. jjj333_p [pain.agency]

    oasis 2 weeks 🧌

  17. icebound.dev

    gajim would likely be the easiest to support through their plugin system

    👍 1
  18. icebound.dev

    it also therefore doesn't need to be upstreamed

  19. icebound.dev

    and python is a pretty simple lang, with extensive libs

  20. jjj333_p [pain.agency]

    theres also a chance that singpolyma would be able to be convinced, which might downstream effect monocles

  21. icebound.dev

    > theres also a chance that singpolyma would be able to be convinced, which might downstream effect monocles Monocles is easier to convince for features in my experience

  22. jjj333_p [pain.agency]

    🤷‍♂️

  23. icebound.dev

    the IPv6 preference option was a product of my lobbying to arne :p

  24. jjj333_p [pain.agency]

    i dont run android, i only talk with singpolyma about implementing things for my shit

  25. icebound.dev

    hah

  26. icebound.dev

    > i dont run android, i only talk with singpolyma about implementing things for my shit you should probably pick up a cheap android device for testing, I should really repair one of the numerous iOS devices for testing too

  27. icebound.dev

    very useful when you are an operator

  28. jjj333_p [pain.agency]

    tbh i only operate for myself and close friends, but once i get oasis to a point where i wanna port to mobile i prob will

  29. jjj333_p [pain.agency]

    also could probably get pretty far with just an android vm

  30. icebound.dev

    Good luck_!

  31. icebound.dev

    Good luck!

  32. singpolyma

    > I've wanted to set up an XMPP server for my hackerspace for a long time. We sort of have a rule to only add stuff that does OIDC. How can I do that? > > What options are there? I don't care much whether it is ejabberd, Prosody, Snikket, something else... but OIDC is really important in this case. > > We use Authentik for SSO and Traefik as a reverse proxy, so ACME queries for the XMPP server would also have to be proxied. > > Anyone here using OIDC? What does your setup look like? <https://modules.prosody.im/mod_auth_oauth_external.html> I think

  33. Johannes

    > I've wanted to set up an XMPP server for my hackerspace for a long time. We sort of have a rule to only add stuff that does OIDC. How can I do that? > > What options are there? I don't care much whether it is ejabberd, Prosody, Snikket, something else... but OIDC is really important in this case. > > We use Authentik for SSO and Traefik as a reverse proxy, so ACME queries for the XMPP server would also have to be proxied. > > Anyone here using OIDC? What does your setup look like? As others have said, Prosody has OAuth support. But it depends on the OIDC as well. I use Pocket ID, which only has Passkey support, and probably wouldn't work with Prosody AFAIK

  34. erebion

    > in all honesty having OIDC as a requirement is really stupid. No, it isn't. The migration to SSO took far too long to just undo. 🙄 Anyway, if OIDC is currently not feasible, I could into look whether any of the other methods that Authentik supports are feasible.

  35. erebion

    > no client support Honestly, an option that just produces a password for the client would also work. We just want to do authorisation for the server via out existing identity provider.

  36. jjj333_p [pain.agency]

    > > no client support > > Honestly, an option that just produces a password for the client would also work. We just want to do authorisation for the server via out existing identity provider. oh thats very possible with prosody

  37. jjj333_p [pain.agency]

    theres existing modules for some auth backends, whatever creme [envs.net], uses might work for you

  38. icebound.dev

    > > in all honesty having OIDC as a requirement is really stupid. > > No, it isn't. The migration to SSO took far too long to just undo. 🙄 > > Anyway, if OIDC is currently not feasible, I could into look whether any of the other methods that Authentik supports are feasible. I guess it has its uses for organisations, but the issue with centralised authentication is that if compromised, or if a user's credentials are leaked, every account is pwned.

  39. icebound.dev

    I strongly believe in a different account for every service, with a different randomised password + TOTP, one service being pwned therefore can't harm another.

  40. icebound.dev

    But I do get in organisations, onboarding new members then becomes a huge chore.

  41. moparisthebest

    icebound.dev: don't forget offboarding

  42. singpolyma

    >> I've wanted to set up an XMPP server for my hackerspace for a long time. We sort of have a rule to only add stuff that does OIDC. How can I do that? >> >> What options are there? I don't care much whether it is ejabberd, Prosody, Snikket, something else... but OIDC is really important in this case. >> >> We use Authentik for SSO and Traefik as a reverse proxy, so ACME queries for the XMPP server would also have to be proxied. >> >> Anyone here using OIDC? What does your setup look like? > > As others have said, Prosody has OAuth support. But it depends on the OIDC as well. I use Pocket ID, which only has Passkey support, and probably wouldn't work with Prosody AFAIK I don't see why pocket id wouldn't work with prosody? should be fine

  43. icebound.dev

    > icebound.dev: don't forget offboarding true.

  44. erebion

    > I strongly believe in a different account for every service, with a different randomised password + TOTP, one service being pwned therefore can't harm another. I believe in an amount of work that the couple people at the hackerspace can actually do, preferrably without getting burnt out.

  45. erebion

    > But I do get in organisations, onboarding new members then becomes a huge chore. And maintaining access rights. We give some access to everyone that joins us, but more access to members, some other permissions to the board members and admins and so on.

  46. erebion

    >> >> As others have said, Prosody has OAuth support. But it depends on the OIDC as well. I use Pocket ID, which only has Passkey support, and probably wouldn't work with Prosody AFAIK > > I don't see why pocket id wouldn't work with prosody? should be fine What is Pocket ID?