[ejabberd] Shared Roster / Groups with External Authentication: Possible?

Tom Lancaster tom at tnhvietnam.com
Wed Jan 11 13:26:24 MSK 2012


Ok, still no luck adding users from external auth to a shared roster.
So now I step back and ask the question:

How do sites like mine deal with ejabberd auth when they want to
mirror groups from the website in ejabberd to allow subsets of site
users to converse with each other?

I assumed that external authentication would be the way to go, but
I've been down that alley for several weeks and it seems not to
support the features I need.

Do I need to manually add my site users to ejabberd on registration?
What happens when they change their password?

I'm really interested to know how other developers have gone about
integrating ejabberd with social websites.

Again, thank you for your time.

Regards,

Tom

On Thu, Jan 5, 2012 at 8:15 PM, Tom Lancaster <tom at tnhvietnam.com> wrote:
> Incidentally, here is some output from ejabberd.log around the time I
> tried to connect to everybody at muc.chat.xemzi.com :
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_c2s:1194) : broadcast
> [{privacy_list,{userlist,"invisible",
>                         [{listitem,jid,
>                                    {"everybody","muc.chat.xemzi.com",[]},
>                                    allow,1,false,false,false,false,true},
>                          {listitem,none,none,deny,2,false,false,false,false,
>                                    true}],
>                         false},
>               "invisible"}]
>
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_c2s:1400) : Send XML on stream = "<iq
> from='growler at chat.xemzi.com' to='growler at chat.xemzi.com/Ostrich'
> id='push2561196467' type='set'><query xmlns='jabber:iq:privacy'><list
> name='invisible'/></query></iq>"
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_c2s:1400) : Send XML on stream = "<iq
> from='growler at chat.xemzi.com' to='growler at chat.xemzi.com/Ostrich'
> id='iChat_175B2077' type='result'/>"
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.593.0>:ejabberd_receiver:320) : Received XML on stream =
> "<presence to=\"everybody at muc.chat.xemzi.com/growler\"><x
> xmlns=\"http://jabber.org/protocol/muc\"><history
> maxstanzas=\"25\"/></x>\n</presence>\n"
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.593.0>:shaper:61) : State: {maxrate,1000,17.51430112697342,
>                                    1325768941245865}, Size=137
> M=69.10516432874128, I=346.669
>
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_router:301) : route
>        from {jid,"growler","chat.xemzi.com","Ostrich","growler",
>                  "chat.xemzi.com","Ostrich"}
>        to {jid,"everybody","muc.chat.xemzi.com","growler","everybody",
>                "muc.chat.xemzi.com","growler"}
>        packet {xmlelement,"presence",
>                   [{"to","everybody at muc.chat.xemzi.com/growler"}],
>                   [{xmlelement,"x",
>                        [{"xmlns","http://jabber.org/protocol/muc"}],
>                        [{xmlelement,"history",[{"maxstanzas","25"}],[]}]},
>                    {xmlcdata,<<"\n">>}]}
>
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_local:286) : local route
>        from {jid,"growler","chat.xemzi.com","Ostrich","growler",
>                  "chat.xemzi.com","Ostrich"}
>        to {jid,"everybody","muc.chat.xemzi.com","growler","everybody",
>                "muc.chat.xemzi.com","growler"}
>        packet {xmlelement,"presence",
>
> ....
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_sm:394) : session manager
>        from {jid,"growler","chat.xemzi.com","Ostrich","growler",
>                  "chat.xemzi.com","Ostrich"}
>        to {jid,"everybody","muc.chat.xemzi.com","growler","everybody",
>                "muc.chat.xemzi.com","growler"}
>        packet {xmlelement,"presence",
>                           [{"to","everybody at muc.chat.xemzi.com/growler"}],
>                           [{xmlelement,[...],...},{xmlcdata,...}]}
>
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.594.0>:ejabberd_sm:488) : packet droped
>
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.593.0>:ejabberd_receiver:320) : Received XML on stream = "<iq
> type=\"error\" to=\"growler at chat.xemzi.com\"
> id=\"push2561196467\"><error type=\"501\">Cl
> ient has no handler for IQ type set namespace
> jabber:iq:privacy</error>\n</iq>\n"
>
> =INFO REPORT==== 2012-01-05 20:09:01 ===
> D(<0.593.0>:shaper:61) : State: {maxrate,1000,206.34798465641498,
>                                    1325768941592541}, Size=163
> M=90.87604429712994, I=1.316
>
>
>
> On Thu, Jan 5, 2012 at 8:08 PM, Tom Lancaster <tom at tnhvietnam.com> wrote:
>> On Thu, Jan 5, 2012 at 7:32 PM, Badlop <badlop at gmail.com> wrote:
>>> 2012/1/3 Tom Lancaster <tom at tnhvietnam.com>:
>>>> I have been wracking my brain and reading everything I can to
>>>> establish whether I can accomplish the following using ejabberd:
>>>>
>>>> 1) Everyone in a shared roster (ie: all users of my website can see
>>>> each other through an xmpp client)
>>>
>>> See:
>>>
>>> http://www.ejabberd.im/shared-roster-all#example1
>>
>>
>> From that page: "This feature requires internal authentication. If you
>> use external authentication, LDAP... then adding @all@ to a shared
>> roster group will do nothing."
>>
>> Which is why I'm asking if there is any way at all to do shared roster
>> groups with external authentication. In your previous email you said
>> that @all@ would in fact work, in contradiction of the above linked
>> page. I've followed those instructions and I'm not getting any kind of
>> shared roster on iChat or Adium. This is sort of why I'm asking what I
>> should expect to see on the client end if it was working: is there
>> anything special I need to do to see the shared contacts from the
>> server? I'm not seeing anyone show up in my buddy list.
>>
>> Thanks again for your time, and please excuse my confusion - I think I
>> may be incorrectly conflating "group" and "group chat" which is why
>> I'm asking if I need to make my client join a "group chat" in order to
>> see the shared contacts.
>>>
>>>
>>> ---
>>> Badlop
>>> ProcessOne
>>> _______________________________________________
>>> ejabberd mailing list
>>> ejabberd at jabber.ru
>>> http://lists.jabber.ru/mailman/listinfo/ejabberd


More information about the ejabberd mailing list