我正在开发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)
答案 0 :(得分:1)
您无法阻止用户将机器人添加到名单中。根据XMPP文档:
App Engine接受所有聊天邀请并自动注册订阅,如“处理订阅”部分所述。无论发件人之前是否向该应用发送了邀请,App Engine都会将所有聊天消息路由到应用程序。
您应该拒绝回复未经授权使用您的应用的用户发来的消息。