我已经在Google的Pub / Sub平台上设置了一个推送端点,当我阅读文档时,我看到以下代码片段:
def receive_messages_handler():
# Verify that the request originates from the application.
if (request.args.get('token', '') !=
current_app.config['PUBSUB_VERIFICATION_TOKEN']):
return 'Invalid request', 400
但是,每当我在推端点上查看POST请求的请求参数/参数时,我都不会在查询参数中找到任何令牌属性。我已在管理员中启用了Roles / iam.TokenCreator角色,以创建令牌等。我还缺少什么吗?还是Google从其参数中删除了此令牌?
此token
参数用于验证请求的起源。
答案 0 :(得分:0)
PUBSUB_VERIFICATION_TOKEN
由应用程序设置,其值在app.yaml
中。如果有人尝试使用"https://<your-project-id>.appspot.com/push-handlers/receive_messages?token=1234abc"
文件中未指定的验证令牌来监听Cloud Pub / Sub推送端点(例如yaml
),则他们将不会成功获取任何东西。
对于推送订阅,Cloud Pub / Sub在每个推送请求中还包含一个令牌(JWT)。 serviceAccountTokenCreator
的作用是允许Cloud Pub / Sub生成令牌。这是为了确保在应用程序方面,如果应用程序选择这样做,它可以执行诸如验证数据是否确实来自Cloud Pub / Sub的操作。