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

郎咸武 langxianzhe at gmail.com
Thu Jan 12 09:15:12 MSK 2012


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

i using  exmpp and nitrogen 

Tom Lancaster <tom at tnhvietnam.com>编写:

>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
>_______________________________________________
>ejabberd mailing list
>ejabberd at jabber.ru
>http://lists.jabber.ru/mailman/listinfo/ejabberd


More information about the ejabberd mailing list