Converse.js is an XMPP/Jabber chat client that runs in your web browser. It can connect to any public XMPP server, or you can set up your own. It can be used as an application with no modification required, or you can extended and customize it to your needs. It's possible to enable single-session support, whereby users already authenticated in your website will also automatically be logged in on the chat server.