有没有办法确定应用引擎收到的邮件是否来自Google PubSub服务?目前,PubSub服务在appengine app.yaml中配置为“login:admin”的URL上获得302。所以它一直在重试。
我原本希望它的行为类似于Appengine中的Tasks,并自动验证“login:admin”URL。
答案 0 :(得分:1)
FAQ建议您在设置PubSub推送订阅时,将共享密钥令牌作为请求参数放在您的处理程序中。
如果您还想验证邮件来自Google Cloud Pub / Sub,您可以将端点配置为仅接受带有秘密令牌参数的邮件,例如
https://myapp.mydomain.com/myhandler?token=application-secret.
由于PubSub不使用appengine身份验证,并且我们使用令牌进行身份验证,因此您不应在此处理程序的app.yaml条目中指定login
密钥。这是一个例子:
<强> 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