{ "version": 2, "workers": [ { "type": "router", "options": { "pythonpath": [ ".." ] }, "realms": [ { "name": "realm1", "roles": [ { "name": "authenticator", "permissions": [ { "uri": "com.example.authenticate", "match": "exact", "allow": { "call": false, "register": true, "publish": false, "subscribe": false }, "disclose": { "caller": false, "publisher": false }, "cache": true } ] }, { "name": "public", "permissions": [ { "uri": "", "match": "prefix", "allow": { "call": true, "register": true, "publish": true, "subscribe": true }, "disclose": { "caller": false, "publisher": false }, "cache": true } ] } ] }, { "name": "realm2", "roles": [ { "name": "authenticator", "permissions": [ { "uri": "com.example.authenticate", "match": "exact", "allow": { "call": false, "register": true, "publish": false, "subscribe": false }, "disclose": { "caller": false, "publisher": false }, "cache": true } ] }, { "name": "backend", "permissions": [ { "uri": "", "match": "prefix", "allow": { "call": true, "register": true, "publish": true, "subscribe": true }, "disclose": { "caller": false, "publisher": false }, "cache": true } ] }, { "name": "frontend", "permissions": [ { "uri": "", "match": "prefix", "allow": { "call": true, "register": false, "publish": false, "subscribe": true }, "disclose": { "caller": false, "publisher": false }, "cache": true } ] } ] } ], "transports": [ { "type": "web", "endpoint": { "type": "tcp", "port": 8888 }, "paths": { "/": { "type": "static", "directory": "../../web" }, "ws": { "type": "websocket", "auth": { "anonymous": { "type": "dynamic", "authenticator": "com.example.authenticate" }, "ticket": { "type": "dynamic", "authenticator": "com.example.authenticate" } } } }, "options": { "enable_webstatus": false, "enable_hixie76": false, "max_frame_size": 1048576, "max_message_size": 1048576, "auto_fragment_size": 65536, "fail_by_drop": true, "open_handshake_timeout": 2500, "close_handshake_timeout": 1000, "auto_ping_interval": 1000, "auto_ping_timeout": 2000, "auto_ping_size": 4 } } ], "components": [ { "type": "class", "classname": "authenticator_anonymous.AuthenticatorAnonymousSession", "realm": "realm1", "role": "authenticator" }, { "type": "class", "classname": "authenticator_ticket.AuthenticatorTicketSession", "realm": "realm2", "role": "authenticator" } ] } ] }