如何验证GCP发布/订阅推送订阅令牌?

时间:2019-09-11 07:57:00

标签: asp.net-web-api google-cloud-platform jwt openid-connect google-cloud-pubsub

我们是GCP的新手。我们已经建立了一个发布/订阅队列,该队列具有对启用了身份验证的外部Webhook(ASP.NET Web API)的推送订阅。这为我们在HTTP发布调用中提供了一个承载令牌。

我不清楚是否:

  • A。我需要先使用服务帐户.json文件请求令牌,并将其与发布/订阅在Webhook中发送的承载令牌进行比较。
  • B。我只需要使用GoogleJsonWebSignature.ValidateAsync(token, settings)来验证pubsub中的令牌?

无论哪种可能性都行,我只是不确定安全隐患。选项B很简单,但是真的安全吗?不可能篡改吗?

1 个答案:

答案 0 :(得分:1)

您甚至可以使用Microsoft的库来验证令牌as explained in this ASP.NET blog post。给定audience you configured with the push subscription,请使用以下代码:

app.UseJwtBearerAuthentication(new JwtBearerOptions()
{
    Audience = "",  // The audience you configured the token to have 
    Authority = "https://accounts.google.com", 
    AutomaticAuthenticate = true
});