【问题标题】:Authenticating PubSub Push messages in AppEngine在 AppEngine 中对 PubSub Push 消息进行身份验证
【发布时间】:2016-07-28 07:53:15
【问题描述】:

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

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

【问题讨论】:

    标签: google-app-engine google-cloud-pubsub


    【解决方案1】:

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

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

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

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

    ma​​in.py

    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)
    

    app.yaml

    runtime: python27
    api_version: 1
    threadsafe: true
    
    handlers:
    - url: /.*
      script: main.app
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 2020-06-10
      • 2013-03-11
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多