拒绝在Google App Engine上订阅具有不同域的用户

时间:2012-08-31 15:16:46

标签: python google-app-engine xmpp chat subscription

我正在开发GAE(谷歌应用引擎)的应用程序。这个应用程序是一个聊天机器人,用户可以使用它来访问一些资源。问题是我不希望知道应用程序ID的任何用户可以将该聊天机器人添加到他们的联系人,因为它管理私人信息,所以我想限制仅对我的域帐户的访问。我阅读了GAE文档并找到了这个(https://developers.google.com/appengine/docs/python/xmpp/overview#Handling_Subscriptions),但我真的不知道如何应用它。我做了这样的事情:

class SuscribeHandler(webapp.RequestHandler):
  def post(self):
    sender = self.request.get('from').split('/')[0]
    domain = sender.split("@")[1]
    if domain == "mydomain.com":
      #Add contact code goes here


app = webapp.WSGIApplication([
  ('/_ah/xmpp/subscription/subscribe/', SuscribeHandler),
  ], debug=True)

1 个答案:

答案 0 :(得分:1)

您无法阻止用户将机器人添加到名单中。根据XMPP文档:

  

App Engine接受所有聊天邀请并自动注册订阅,如“处理订阅”部分所述。无论发件人之前是否向该应用发送了邀请,App Engine都会将所有聊天消息路由到应用程序。

您应该拒绝回复未经授权使用您的应用的用户发来的消息。