Snippets

Fabio Montefuscolo ConverseJS JWT

Created by Fabio Montefuscolo
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Converse.js</title>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Converse.js: A free chat client for your website" />
    <link rel="manifest" href="./manifest.json">
    <link rel="shortcut icon" type="image/ico" href="favicon.ico"/>
</head>
<body class="reset"></body>
<script>
    converse.plugins.add("converse-debug", {
        initialize () {
            const { _converse } = this;
            window._converse = _converse;
        }
    });

    converse.plugins.add("performity-auth", {
        "initialize": function () {
            var _converse = this._converse;
            var plugin = this;
            var provider = (_converse.user_settings.oauth_providers || {}).performity;
            var error = window.error
                ? window.error
                : (window.feedback
                    ? function(msg){ feedback(msg, "error"); }
                    : function(msg){ console.error(msg); }
                );

            if(!provider) {
                return;
            }

            var access_token = "eyJraWQiOiJGd1hqY1hGdW1jcHd1UVFaaU5ycGw2X0hlMkx2d2VqOEZTMEw1bXpQb0VRIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULmxkOW12dnZYd3JlNWgzY0JadEtFQ2tnSjlvT0N6X1FWcG9ha2JyR0w5ZWsiLCJpc3MiOiJodHRwczovL3BlcmZvcm1pdHlpbmMub2t0YXByZXZpZXcuY29tIiwdfgbfygjoiaHR0cHM6Ly9wZXJmb3JtaXR5aW5jLm9rdGFwcmV2aWV3LmNvbSIsInN1YiI6ImZhYmlvbW9udGVmdXNjb2xvQHBlcmZvcm1pdHlpbmN0ZXN0LmNvbSIsImlhdCI6MTU4ODY5OTk5MywiZXhwIjoxNTg4NzAzNTkzLCJjaWQiOiIwb2FvcnE3dW9kYXRaSkpGRTBoNyIsInVpZCI6IjAwdXI4anh6YjdCQjZQbVVMMGg3Iiwic2NwIjpbIm9wZW5pZCJdfQ.cScjAqbMl-FGugM2vUKKsp4WfiXNEQMjne0Rzg3FAv_rlVuDsj_DKPdgrWH_MEDZnxveASP7h3jDoCxK1u0-XX2Y0UD2gcDjchdL-rAKwbWSyhOh79GlBZItzrtgK_Z7qfzgHkd4ImxgzNM3ubCQuCGkNgABMRiAw1d4KR6LvOgifgtLRvjA96U8gf4S5BLBbRL7fjE5eV83JdKaAGIt5ylYyCiAk2jFf0Q3LTIwiGXMsVrX2sF590aeDY4APkFD__B191X8hrcvrjhXO5XVcAOphVPhHK4rdsYT1dsD2WDq_95yYMgRqzjXl4OoDu1z-Kt-hrGfqGLLxoxYoBviDg";
            this.set_connection(access_token);
        },

        "set_connection": function(access_token) {
            var _converse = this._converse;
            _converse.password = access_token;
            _converse.promises.connectionInitialized.then(function() {
                _converse.connection
                    .mechanisms
                    .OAUTHBEARER
                    .prototype
                    .priority = 100
            });
        }
    });

    converse.initialize({
        "auto_away":                      300,
        "auto_login":                     true,
        "auto_register_muc_nickname":     true,
        "auto_reconnect":                 true,
        "clear_messages_on_reconnection": true,
        "default_domain":                 "openfire.performity.docker",
        "debug":                          true,
        "domain_placeholder":             "openfire.performity.docker",
        "enable_smacks":                  true,
        "i18n":                           "en",
        "loglevel":                       "debug",
        "message_archiving":              "always",
        "muc_domain":                     "conference.openfire.performity.docker",
        "muc_respect_autojoin":           true,
        "muc_show_logs_before_join":      true,
        "show_send_button":               true,
        "trusted":                        true,
        "view_mode":                      "fullscreen",
        "websocket_url":                  "http://openfire.performity.docker:7070/http-bind/",
        "whitelisted_plugins":            ["converse-debug", "performity-auth"],

        "jid": "fabiomontefuscolo@openfire.performity.docker",
        "nickname": "Fabio Montefuscolo",

        "oauth_providers": {
            "performity": {
                "client_id": "org.tiki.rtc.internal-conversejs-id",
                "name": "ConverseJS OAuth Client",
                "authorize_url": "tiki-oauthserver-authorize?response_type=token"
            }
        },
    });

</script>
</html>

Comments (2)

  1. Benjamín Ariel Nava Martínez

    Are you using the dev build of converse? any specific version or master? will try to replicate it later today, thanks!

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.