проблема с настройкой анонимного входа в ejabberd - PullRequest
2 голосов
/ 18 апреля 2010

В ejabberd.cfg у меня есть следующее

{host_config, "thisislove-MacBook-2.local", [{auth_method, [internal, anonymous]},
                          {allow_multiple_connections, false},
                          {anonymous_protocol, both}]}.

но при использовании клиента speeqe javascript (speeqe.com) для подключения я вижу, что он отправляет

<body rid='1366284187' xmlns='http://jabber.org/protocol/httpbind' to='thisislove-macbook-2.local' xml:lang='en' wait='60' hold='1' window='5' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/>

и сервер отвечает

<body xmlns='http://jabber.org/protocol/httpbind' sid='f89bf034b02fa6b884bb0c55be3f1f69e45e3866' wait='60' requests='2' inactivity='30' maxpause='120' polling='2' ver='1.8' from='thisislove-macbook-2.local' secure='true' authid='353072658' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams' xmpp:version='1.0'><stream:features xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register xmlns='http://jabber.org/features/iq-register'/></stream:features></body>

Обратите внимание на механизмы, DIGEST-MD5 и PLAIN. Если я не ошибаюсь, у него должен быть АНОНИМНЫЙ механизм. Так что происходит, что speeqe просто разрывает соединение.

Таким образом, я думаю, что я должен что-то упустить в анонимной конфигурации или конфигурации MUC. В конфигурации mod_muc у меня есть

{mod_muc,      [
      %%{host, "conference.@HOST@"},
      {access, muc},
      {access_create, muc},
      {access_persistent, muc},
      {access_admin, muc_admin},
      {max_room_name, 190},
      {max_room_desc, 190},
      {max_users, 500}
     ]}

Так чего мне не хватает?

Спасибо

1 Ответ

3 голосов
/ 19 апреля 2010

Это может помочь кому-то в будущем, так что вот что происходит. У меня было

{auth_method, internal}. 

вместо

{auth_method, [internal, anonymous]}.

У меня тоже было

{access, muc_create, [{allow, local}]}.

вместо

{access, muc_create, [{allow, all}]}.

И, наконец, имя комнаты в local_settings.js в speeqe также должно содержать чат-сервер: alpha@conference.domain.com (а не alpha@domain.com).

...