我正在实现一个xmpp客户端(现在只用于gtalk)。
我从获得OAuth2令牌开始,就像在OAuth 2.0授权上描述的那样。我也在寻找一些帮助,如何连接到gtalk服务器,一旦我得到了令牌。我已经阅读过例句,但不确定SASL将如何在GAE上实现。
接下来,如何让它像聊天客户端一样工作,真正的用户可以在这里聊天。我见过可以使用示例制作聊天机器人的示例,以及其他需要用户输入用户名和密码才能聊天的示例。
但我的想法是在我的GAE应用程序中使用Google的认证,然后让我的应用程序像聊天客户端那样为真正的gtalk用户服务。请为我指出如何实现这一目标的正确方向。
发布于 2013-01-13 15:04:46
我想我在实现gtalk XMPP客户端时遇到了类似的障碍。所有检索访问令牌的工作都进行得很顺利,但接下来我将讨论以下部分:
(从扩展/oauth中提取):
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="X-OAUTH2"
auth:service="oauth2"
xmlns:auth="http://www.google.com/talk/protocol/auth">
base64("\0" + user_name + "\0" + oauth_token)
</auth>这是在找user_name。这就是你遇到的问题吗?就我个人而言,我在这一点上遇到了一个障碍,因为很明显,由于它是OAuth,所以程序不知道用户名。我不知道google对此的建议是什么,我还没有找到任何信息。
无论如何,假设您可以正确地通过XMPP服务器进行身份验证,那么它的行为应该与任何其他XMPP服务器一样。
关于gtalk XMPP实现,我发现了一些可能对您或其他人有帮助的东西:
<stream:stream>元素的" to“属性似乎需要是"gmail.com”而不是服务器地址。如果你不知道你在写什么,就很难直接回答你的问题。如果您和我一样,并且正在从头开始实现XMPP客户端,我只能祝您好运(这将是一段漫长的旅程)。但是,如果您正在使用XMPP框架来减轻负担,那么他们中的大多数应该使用内置的东西来处理gtalk.
https://stackoverflow.com/questions/13224224
复制相似问题