-
Notifications
You must be signed in to change notification settings - Fork 17
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
Anonymous login? #19
Comments
Hello @poVoq allowing anyone to join public anonymous MUC without login previously seems to be a little difficult in the actual model (since login is required to access other GUI components). For the second part, it is already possible to access a MUC, let's say you have a room named |
It is actually a login mode supported by XMPP servers. It creates a temporary account in the background, see for example: https://prosody.im/doc/anonymous_logins (but ejabberd can also do it). But maybe I misunderstood the concern? |
I'm not sure to fully understand the call-flow explained in prosody doc, but here is what I think:
At this time, this enhancement seems to be a long time work... |
Hmm, that is a pity because a lightweight web-chat with minimal onboarding barriers might be a really cool use-case for this. I did find a test for StanzaJS that seems to do login via an anonymous method, might be something else though: |
Yes, i saw and also mentioned in code here. App code use theses 2 functions XMPP.createClient and client.connect: this.client = XMPP.createClient({
jid,
password,
resource: resource || 'Web XMPP',
transports: transports || { websocket: true, bosh: true },
})
this.client.connect() Let me know if you found how to handle it and I'll see how to adapt app to handle anonymous access. |
To follow this ticket. |
Sunday evening update: I found how to connect to anonymously using Stanza, it was simple but not documented 😞, just add this.client = XMPP.createClient({
server: 'anon.localhost',
resource: resource || 'Web XMPP',
transports: transports || { websocket: true, bosh: true },
})
this.client.connect() I'll look how to update existing logic ( Next step will be designing a new "Guest" vue component, here it is a first proposal:
|
Thanks a lot for working on this! Maybe some simplified view that disables some features that make little sense for anonymous users could also be configurable? Things like "contacts" and the top left account part. |
Yep, only chat view will be displayed after joining room. |
@nioc: Thanks, maybe you can see to add more informations in Stanza documentation :) |
@nioc: Good job, thanks! One guy can test it? |
Hi, work done. Let me know if you encounter any issues with it before I publish the release. |
@Neustradamus Stanza provide XML abstraction (and it is a huge work) for this app but I do not contribute on it. As author has closed issues, I suppose he is not widely open to contributions... and I do not have time to update third party library documentation 😉 |
@nioc: Please talk with @legastero here. |
Is it possible to configure this to allow a very simple public webinterface for some MUCs that will just ask for a nick and handle temporary accounts through the XMPP server's anonymous login mechanism?
A bit like what happens here with the conversejs instance linked: https://logs.xmpp.org/operators/
Also, can MUCs be deep-linked via a URL? So that several different MUCs could be made available through it via URLs from a website? Edit: or alternatively configure a list of MUCs to auto-join?
Thanks for the help!
The text was updated successfully, but these errors were encountered: