convos
convos copied to clipboard
Anonymous Usage / Open web client / Mibbit alternative
Hello,
First great project thank you. I want a use anonymous login to convos. No user registration but I want a lock single irc server to logon with only selected channels. how can i set the my requirements?
Convos did this or not?
Thanks,
Thank you! We don't support anonymous login right now, but I was hoping #21 and #320 would implement that.
You can lock to a single irc server using https://convos.by/doc/config.html#convos_forced_irc_server, but there's no way to lock to a given channel at this time.
Does the comments from https://github.com/Nordaaker/convos/issues/21 sum up what you want?
@marcusramberg: I would like to have a restricted version of Convos, which only lets you log in and join a channel, without settings or persistence. For running a demo mode and embedding in company pages.
@jhthorsen: My idea is to use JWT (JSON web tokens) with enough information for a user to register and automatically join a server/chat room.
The payload of the JWT is a JSON structure with information, such as username, server and dialog/channel name. The signature is a checksum which the server can use to validate the payload. This means that unless the token was generated from a secure party, then Convos (or any JWT party) will reject the whole token.
The last part about "kiosk mode" is that the actual user interface will be stripped down. (This is implemented in ef84205f)
My requirement is users come to site but no registration direcly select nickname or and give nick password to logon irc server. I cant found the cgiirc or webirc settings in the convos.
I believe that this is a feature that a lot of people that follow the project are waiting for :) Great project btw
I'm also quite interested and I'm willing to invest time to develop it. I've been playing (hacking) with the code base a bit but I haven't touched the plugin system.
Some guidelines to where to look for would be appreciated. :)
Cool alternative might be a social auth login option, e.g. log in with your Github account or any custom Open ID connect capable provider. Not sure though if a good library exists for Perl. in php there is for example hybridauth.
Could someone explain to me step-by-step how this would work? I wonder if I'm over complicating things - Maybe this is very simple to implement..? Here is what I'm curious about:
- What is the starting point?
- Is it a another service like https://myapp.example.com, where you click on a link that grants you access?
- Is it a special URL, like https://convos.example.com/anonymous ?
- Do we re-use the registration page and just have a "Anonymous chat" button, which allows you to chat?
- Do the user provide a nick and/or email before getting into the chat? (I really don't want to have "Guest123" nick names, since I find them annoying)
- Something else..?
- How are user settings handled?
- Do the user get an account?
- Can the user change settings?
- Is the account deleted when the user closes the browser?
- Is the account deleted after a given time of inactivity?
- Something else..?
- How are message history handled?
- Can the user scroll back after coming back to Convos after X hours/days?
- Can the user search in the history?
- Something else..?
- Can the server be used by regular users and anonymous users, or just one set of users?
- Can one user choose to be anonymous, while another choose to register?
- Something else..?
- Chatting
- Can the user send commands at all?
- Are there some commands that are not available to the user?
- Something else..?
- Interface
- Are some menu options hidden?
- Is the anonymous version of Convos supposed to be locked to one channel or a selection of channels?
- Is it supposed to be embedded inside let's say an iframe, without menus?
- Something else..?
Please provide other information if possible. Also, if the answer to 1.i is "yes", then maybe you want to look at #414 and #418. Also, if JWT is an option, then please open a new issue where you describe what information should be part of the generated JWT.
What is the starting point?
- Yes, mostly its named as https://webchat.example.com or client name https://convos.example.com
- No, the main page is enough to connect to the network, where it has few settings, like channel, nickname and password for nickserv identify, also identifiers can be used for nickname and channels https://convos.example.com/#channel or https://convos.example.com/?nickname#channel
- Probably Private and Public options sounds better here as of TheLounge irc client.
- It's choice, thelounge has setting if you choose private mode it shows you a page to use registration way, if it's public the page shows u blocks for nick, channel, password (for nickserv) to connect.
- By another setting from admins. For example default nickname: Empty or Guest_??? can be used to get the nickname to connect. Surely also a channel or channels can be set as well.
- Some clients likes to provide full irc informations which is nick ident gecos (realname) as well so thats up to you guys to put or not in the connection page for user to put it or not.
How are user settings handled?
- They don't get any account or setting, as of anonymous usage they quits, all they had or not gets deleted.
How are message history handled?
- Due not having any account they should not see anything from history.
Can the server be used by regular users and anonymous users, or just one set of users?
- It's a choice to redesign the main page to provide both usage or not, otherwise just put another for anonymous usage option.
Chatting
- Any irc commands should be fine to be used.
Interface
- Conversations for chatting and Help menu seems enough for anonymous users.
- No need to lock it i guess.
A channel preview / web accessible log might be also interesting for inclusion in the CMS. Something similar to the Indieweb chat: https://chat.indieweb.org/ ( https://github.com/indieweb/chat.indieweb.org ).
I guess a simple websocket capable widget might also do if the IRC server supports that (Ergo does). For example this could be used as a base: https://github.com/itskrystibitch/websocketirc
I don't think you comment is related to this issue. Nevertheless there's too many privacy issues with your suggestion, so I won't include it. Please open another issue if you have further comments or discuss it on IRC.