Open MarcelWaldvogel opened 6 years ago
However it seems guest support in most XMPP servers restricts federation, so guests would not be able to chat with people using an XMPP account from another server.
Which XMPP server, the one hosting the guest or a remote one? How does an XMPP server automagically know what a guest is? (That's what the local_guest
rule is meant to tell the local XMPP server.)
I'd definitely prefer a solution with a dedicated virtual xmpp domain with ephemeral throwaway/guest accounts as it leads to less clutter within your "real" domain. The ejabberd example that @poVoq posted looks good.
this would be an example configuration with prosody: https://prosody.im/doc/anonymous_logins
That requires Multi-Domain support for JSXC ;)
I agree, it is cleaner.
When sharing documents using a link with users (e.g. sharing LOOL/Collabora online documents read/write), the guest has no possibility to use the chat. This is a request for an enhancement. (Maybe as part of OSSdev.)
Expected behavior
Admin configuration
The admin enables guest chats (and has tokens enabled). On a new guest access, a new (temporary) JID of the form
guest-${RANDOM}@${XMPP_DOMAIN}
would be created.This is easy to set up but would give the guest unrestricted access to the XMPP federation, unless the admin restricts this.
A possible ejabberd configuration might look as follows (untested):
Notes
This would also be useful for other JSXC-based apps.