2013-12-22 3 views
1

나는 대역 내 등록 및 XEP 0077을 좌향 선회 관련된 다른 많은 문제가 있다는 것을 알고 있지만 내 질문은 다음과 같다 :Strophe.js는 대역 내 등록

내가 올바른 형태로 작성하는 노력하고있어 다음과 같은 절 :

<iq to='marlowe.shakespeare.lit' type='set'> 
    <query xmlns='jabber:iq:register'> 
    <username>juliet</username> 
    <password>R0m30</password> 
    <name>JJ</name> 
    </query> 
</iq> 

그러나 올바르게 입력 할 수 없습니다. 나는 자바 스크립트에서 사용자 이름, 암호 및 이름 필드를 작성하는 방법에 붙어 있습니다.

이것은 내가 지금까지 쓴 것입니다 :

connection.sendIQ($iq({to: "server", type: "set"}).c('query', {xmlns: "jabber:iq:register"}).c) 

어떤 도움이 크게 감사합니다!

답변

1

나는 이것이 오래된 게시물 인 것을 알고 있지만, 나는 Strophe Plugin for In-Band Registration이 정확히 당신이 찾고있는 것이라고 생각한다!

<head> 
<!-- ... --> 
<script type="text/javascript" src="strophe.min.js"></script> 
<script type="text/javascript" src="strophe.register.js"></script> 
<!-- ... --> 
</head> 

자바 스크립트 : 당신이 재버 서버에서 사용자를 등록한 후

var callback = function (status) { 
    if (status === Strophe.Status.REGISTER) { 
     connection.register.fields.username = "juliet"; 
     connection.register.fields.password = "R0m30"; 
     connection.register.submit(); 
    } else if (status === Strophe.Status.REGISTERED) { 
     console.log("registered!"); 
     connection.authenticate(); 
    } else if (status === Strophe.Status.CONNECTED) { 
     console.log("logged in!"); 
    } else { 
     // every other status a connection.connect would receive 
    } 
}; 
connection.register.connect("example.com", callback, wait, hold); 
0

자바 스크립트를 사용하려는 경우 Strophe 및 연결 기능을 사용하십시오.

connection.connect (jid, password, cb);

대역 내 등록은 자바 스크립트가 아닌 목적으로 사용됩니다. 당신은 시체를 조립하고 문자열을 귀하의 재버 서버에 보냅니다. 예를 들어 http://metajack.im/2008/10/03/getting-attached-to-strophe/을 참조하십시오.

+0

connection.connect 만 사용할 수 있습니다. 내 질문은 Strophe를 사용하여 사용자를 등록하는 방법이었습니다. 답장을 보내 주셔서 감사합니다. – firewall

+0

내가 아는 한 Strophe/Javascript에 등록 할 수 없습니다. 사용자는 이미 jabber 서버에 등록되어 있어야합니다. 내 대답의 마지막 부분을 참조하십시오. XEP 0077은 백엔드 코드에 의해 처리 될 수 있으며 RID, SID 및 JID는 Strophe에 전달되어 전달 될 수 있습니다. 또는 수동으로 사용자를 jabber 서버에 추가 한 다음 연결 기능을 사용할 수 있습니다. –

관련 문제