개발할 XMPP 기반 응용 프로그램 용 XMPP 서버 라이브러리를 만들려고합니다. 일반 SASL로 클라이언트를 인증하려고 시도했습니다. 이미 http://tools.ietf.org/html/rfc6120#section-6.4.6XMPP SASL 인증
에서 RFC를 읽고 내 문제하는 < 성공/>를 송수신하고, 새로운 오픈 태그와 비어있는 기능 목록을 전송 한 후, 클라이언트 (피진) 비 SASL 인증을 사용하여 인증을 진행한다는 것입니다 . 나는 아직 TLS를 사용하고 있지 않다
<< <?xml version='1.0' ?><stream:stream to='127.0.0.1' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
>> <?xml version="1.0" ?>
>> <stream:stream version="1.0" xmlns="jabber:server" xmlns:stream="http://etherx.jabber.org/streams" id="kanapka" from="127.0.0.1">
>> <stream:features>
>> <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
>> <mechanism>
>> PLAIN
>> </mechanism>
>> </mechanisms>
>> </stream:features>
<< <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN' xmlns:ga='http://www.google.com/talk/protocol/auth' ga:client-uses-full-bind-result='true'>AHRlc3R1c2VyAHRlc3RwYXNz</auth>
>> <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
<< <stream:stream to='127.0.0.1' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
>> <?xml version="1.0" ?>
>> <stream:stream version="1.0" xmlns="jabber:server" xmlns:stream="http://etherx.jabber.org/streams" id="hotdog" from="127.0.0.1">
>> <stream:features />
<< <iq type='get' id='purple46cbc043'><query xmlns='jabber:iq:auth'><username>testuser</username></query></iq>
않으며, 나는 다른 SASL 메커니즘을 시도했다 : 이것은 통신의 로그입니다 (< <은 >> 들어오는 나가는 의미). 이것은 모두 일반 텍스트입니다.
이것은 동일한 TCP 연결이며 스트림 ID는 다릅니다. 여기에 어떤 문제가 있습니까?