微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用authToken对Google TalkXMPP,Smack进行身份验证

如何解决使用authToken对Google TalkXMPP,Smack进行身份验证

|| 我正在编写的应用正在连接到XMPP服务器,如果用户选择,我想给他们选择连接到其Google聊天帐户的选项,而不必输入凭据... 为此,我将获得使用Google帐户,获取令牌并使用令牌对Google Talk(XMPP服务器,使用Smack)进行身份验证的权限。 问题是..我该怎么做?我的意思是,如果我知道登录名和令牌,该如何向GTalk服务器进行身份验证? 有什么想法,见解吗? :) 如果没有,也许有人知道我在哪里可以找到认识的人? (Google联系人,有人吗?:P)     

解决方法

        您正在寻找有关X-GOOGLE-TOKEN SASL机制的文档。这应该是开始。使用service = mail:
https://www.google.com/accounts/ClientLogin?
    accountType=GOOGLE&
    Email=YOURUSERNAME@gmail.com&
    Passwd=YOURPASSWORD&
    service=mail
它将返回
200 OK
和三个值:
SID=<long string>
LSID=<long string>
Auth=<long string>
解析出Auth字符串,然后使用以下形式构造一个字符串:
jidAndToken =\"\\0\" + UTF8(YOURUSERNAME@gmail.com) + \"\\0\" + Auth
(其中\“ \\ 0 \”应该是值为零的单个八位位组)。在初始SASL身份验证中使用此命令:
<auth xmlns=\'urn:ietf:params:xml:ns:xmpp-sasl\' 
      mechanism=\'X-GOOGLE-TOKEN\'>Base64(jidAndToken)</auth>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。