2016-04-07 28 views
1

Uygulama motoru tarafından alınan bir iletinin Google PubSub hizmetinden olduğundan emin olmanın bir yolu var mı? Şu anda PubSub hizmeti, appengine app.yaml dosyasında "login: admin" olarak yapılandırılan URL'lerde 302 alır. Yani tekrar denemeye devam ediyor.Authenticating PubSub AppEngine uygulamasında push iletileri

Bunun Appengine'deki Görevler gibi davranmasını ve otomatik olarak "login: admin" URL'lerini doğrulamasını beklerdim.

cevap

1

FAQ, PubSub push aboneliğinizi ayarlarken, işleyicinizde kontrol ettiğiniz bir istek parametresi olarak paylaşılan bir gizli belirteç koymanızı önerir. Eğer ek iletiler Google Bulut Pub/Sub kaynaklandığı doğrulamak isterseniz

, sen sadece örneğin bir gizli gösterge argüman eşlik mesajları, kabul edecek nokta konfigüre olabilir

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

appengine kimlik kullanmaz ve biz bu işleyici için app.yaml girişinde bir login anahtar belirtmek gerekir kimlik doğrulaması için belirteci kullanıyor. İşte bir örnek:

main.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