1

有没有办法确定应用引擎收到的消息来自 Google PubSub 服务?目前,PubSub 服务在 appengine app.yaml 中配置为“login: admin”的 URL 上获得 302。所以它一直在重试。

我本来希望它的行为类似于 Appengine 中的任务,并自动对“登录:管理员”URL 进行身份验证。

4

1 回答 1

1

常见问题解答建议在设置您的 PubSub 推送订阅时,您将共享秘密令牌作为您在处理程序中检查的请求参数。

如果您还想验证消息是否来自 Google Cloud Pub/Sub,您可以将端点配置为仅接受带有秘密令牌参数的消息,例如,

https://myapp.mydomain.com/myhandler?token=application-secret.

由于 PubSub 不使用 appengine 身份验证并且我们使用令牌进行身份验证,因此您不应login在 app.yaml 条目中为此处理程序指定密钥。这是一个例子:

主文件

class Handler(webapp2.RequestHandler):

    def post(self):
        token = self.request.params['token']

        if token != 'foo':
            self.abort(401, 'Not authorized')

        # do stuff


app = webapp2.WSGIApplication([
    ('/', Handler),
], debug=True)

应用程序.yaml

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: main.app
于 2016-04-10T11:19:22.633 回答