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

Anonymous Usage / Open web client / Mibbit alternative #346

Open
TuSuNaMi opened this issue Apr 28, 2017 · 10 comments
Open

Anonymous Usage / Open web client / Mibbit alternative #346

TuSuNaMi opened this issue Apr 28, 2017 · 10 comments

Comments

@TuSuNaMi
Copy link

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,

@jhthorsen
Copy link
Collaborator

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.

@jhthorsen
Copy link
Collaborator

jhthorsen commented May 4, 2017

Does the comments from #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 ef84205)

@TuSuNaMi
Copy link
Author

TuSuNaMi commented May 5, 2017

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.

@jhthorsen jhthorsen mentioned this issue May 5, 2017
@wokawoka
Copy link

I believe that this is a feature that a lot of people that follow the project are waiting for :) Great project btw

@desyncr
Copy link

desyncr commented Jun 30, 2017

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

@poVoq
Copy link

poVoq commented Aug 20, 2019

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.

@jhthorsen jhthorsen added this to the Backlog milestone Oct 27, 2019
@jhthorsen
Copy link
Collaborator

jhthorsen commented May 8, 2020

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:

  1. What is the starting point?
    1. Is it a another service like https://myapp.example.com, where you click on a link that grants you access?
    2. Is it a special URL, like https://convos.example.com/anonymous ?
    3. Do we re-use the registration page and just have a "Anonymous chat" button, which allows you to chat?
    4. 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)
    5. Something else..?
  2. How are user settings handled?
    1. Do the user get an account?
    2. Can the user change settings?
    3. Is the account deleted when the user closes the browser?
    4. Is the account deleted after a given time of inactivity?
    5. Something else..?
  3. How are message history handled?
    1. Can the user scroll back after coming back to Convos after X hours/days?
    2. Can the user search in the history?
    3. Something else..?
  4. Can the server be used by regular users and anonymous users, or just one set of users?
    1. Can one user choose to be anonymous, while another choose to register?
    2. Something else..?
  5. Chatting
    1. Can the user send commands at all?
    2. Are there some commands that are not available to the user?
    3. Something else..?
  6. Interface
    1. Are some menu options hidden?
    2. Is the anonymous version of Convos supposed to be locked to one channel or a selection of channels?
    3. Is it supposed to be embedded inside let's say an iframe, without menus?
    4. 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.

@TurkDesk
Copy link

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.

@jhthorsen jhthorsen changed the title Anonymous Usage Anonymous Usage / Open web client / Mibbit alternative Jul 2, 2020
jhthorsen pushed a commit that referenced this issue Jan 12, 2021
…#346 #444 #546

  This implementation allow a Convos admin to set an environment
  variable to enable WEBIRC. Example:

      #!/bin/sh
      export CONVOS_WEBIRC_PASSWORD_LOCALHOST=some_super_secret_password
      export CONVOS_WEBIRC_PASSWORD_MY_SERVER=some_super_secret_password
      ./script/convos daemon

  The part after "CONVOS_WEBIRC_PASSWORD_" is the connection ID, in
  upper case, without the "irc-" prefix and special characters (such as
  "-") translated into "_".

  Setting the environment variable will cause the following IRC commmand
  to be sent to the server:

      WEBIRC some_super_secret_password convos <hostname> <ip>

  "hostname" will fallback to "ip" if the IP could not resolved.

  IMPORTANT! The "ip" will only update after a USER has gone to the
  connection settings and hit "Update". The default "ip" (until a user
  have updated the settings) will be 127.0.0.1. Also, the "ip" will not
  get updated when the user change IP. It will only get updated when the
  user actively goes to the connection settings and hit "Update".
@poVoq
Copy link

poVoq commented Jan 14, 2023

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

@jhthorsen
Copy link
Collaborator

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.

@convos-chat convos-chat deleted a comment from poVoq Jan 14, 2023
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

6 participants