gtalk oauth令牌可以连接到gtalk服务



我正在实现XMPP客户端(目前仅用于GTALK)。

我从OAUTH 2.0授权中所述获得OAuth2令牌。一旦我获得令牌,我还在寻找有关如何连接到GTALK服务器的帮助。我已经阅读了该示例,但不确定如何在GAE上实现SASL auth。

接下来,如何使其像聊天客户端一样工作,真正的用户可以在其中聊天。我已经看到了使用可以进行聊天机器人的示例,以及其他要求用户输入其用户名和密码才能聊天的示例。

,但我的想法是为我的GAE应用使用Google的身份验证,然后让我的应用程序像聊天客户端一样为真正的GTALK用户使用。请指向我如何实现这一目标的正确方向。

我认为我在实现GTALK XMPP客户端时遇到了类似的障碍。一切都很好地检索了访问令牌,但后来我来到了这一部分:

(从https://developers.google.com/talk/jep_extensions/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("" + user_name + "" + oauth_token)
</auth>

它要求使用User_name。这是您遇到的问题吗?就我个人而言,我目前已经遇到了障碍,因为显然,由于它是Oauth,因此该程序不知道用户名。我不确定Google对此的建议是什么,我找不到任何信息。

无论如何,假设您可以正确地验证到XMPP服务器,它应该像其他任何XMPP服务器一样行为。

我发现的一些有关GTALK XMPP实施的事情可能会帮助您或其他人:

  • 可以连接到的服务器可以talk.google.com或xmpp.google.com
  • <stream:stream>元素的"属性"似乎需要为" gmail.com",而不是服务器地址
  • 服务器使用的证书需要验证为来自" gmail.com"而不是服务器地址(启动TLS时)
  • 此页面可能会有所帮助:https://developers.google.com/cloud-print/docs/rawxmpp(一切都向第2步)

在不知道您正在编码的内容的情况下,很难直接回答您的问题。如果您像我一样,并且正在从头开始实施XMPP客户端,我只能祝您好运(这将是一段漫长的旅程)。但是,如果您使用XMPP框架来减轻负担,那么其中大多数应该具有内置的东西来处理GTALK ...

最新更新