FAQ рекомендует, чтобы при настройке подписки на PubSub вы добавляли общий секретный токен в качестве параметра запроса, который вы проверяете в своем обработчике.
Если вы дополнительно хотели бы проверить, что сообщения происходит от Google Cloud Pub/Sub, вы можете настроить конечную точку только принимать сообщения, которые сопровождаются секретного маркера аргумента, например,
https://myapp.mydomain.com/myhandler?token=application-secret.
Поскольку PubSub не использует аутентификацию Appengine, и мы используем маркер для проверки подлинности не следует указать login
ключ в записи app.yaml для этого обработчика. Вот пример:
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