GCP发布/订阅推送端点在请求参数中找不到Google域验证令牌

时间:2019-12-10 02:27:55

标签: python google-cloud-pubsub

我已经在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参数用于验证请求的起源。

1 个答案:

答案 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的操作。

相关问题