Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guest chat #78

Open
MarcelWaldvogel opened this issue Nov 20, 2017 · 6 comments
Open

Guest chat #78

MarcelWaldvogel opened this issue Nov 20, 2017 · 6 comments

Comments

@MarcelWaldvogel
Copy link
Contributor

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

  1. The admin enables granting guest chat (see below), globally or to some groups
  2. The user shares a link and has the option to enable chat on this link; sends this link to guests
  3. This also creates a XMPP MUC room for that share, which would be a starting position for group discussions (and forking 1:1 discussions). The user who created the share would become a permanent member of the group (bookmarked as auto-join) with admin rights, so the user can maintain order
  4. Guests opening the link in their browsers will be presented with a MUC window (and hidden roster); have the option to change their nickname (and maybe open 1:1 chats)

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):

acl:
  local_guest:
    user_regexp: "^guest-"
  
access_rules:
  s2s:
    - deny: local_guest
    - allow
  
s2s_access: s2s

Notes

This would also be useful for other JSXC-based apps.

@poVoq
Copy link

poVoq commented Nov 22, 2017

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.

@MarcelWaldvogel
Copy link
Contributor Author

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.)

@poVoq
Copy link

poVoq commented Nov 22, 2017

@DanScharon
Copy link
Contributor

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.

@DanScharon
Copy link
Contributor

this would be an example configuration with prosody: https://prosody.im/doc/anonymous_logins

@MarcelWaldvogel
Copy link
Contributor Author

MarcelWaldvogel commented Nov 22, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants