我希望能够验证进入AppEngine上我的servlet的doPost的请求来自我的push pubsub订阅。我在这里看到了一个类似的问题:Authenticating PubSub Push messages in AppEngine并且解决方案是使用PubSub faq中指定的共享令牌,但是那些有权访问该令牌的人将能够推送消息。
目前,我正在考虑通过在app.yaml中使用处理程序来限制对servlet的访问,并且需要管理员状态,如下所述:https://cloud.google.com/appengine/docs/flexible/java/configuring-your-app-with-app-yaml#security,文档说:
注意:对于App Engine设置适当的X-Appengine特殊标头的内部请求,也满足管理员登录限制。例如,cron计划任务满足管理限制,因为App Engine在相应的请求上设置HTTP标头X-AppEngine-Cron:true
我正在尝试找到一种方法来获得与pubsub相同的功能,但是使用pubsub推送消息发送的标头显示X-AppEngine-User-Id = null和X-AppEngine_User-Is-Admin = 0。因此,不符合管理员限制,拒绝访问。
有没有办法让订阅管理员访问,或者是否可以使用任何标题来验证邮件的来源?