0

此页面提供公钥来解密来自 Google 的 Identity Aware Proxy 的标头。向页面发出请求会提供它自己的一组标头,其中一个是Expires(它包含一个日期时间)。

有效期实际上是什么意思?我注意到它偶尔会波动,并且没有注意到公钥在到期时发生变化。

我已经阅读了Securing Your App With Signed Headers,它介绍了如何在每次密钥 ID 不匹配后获取密钥,但我希望创建一个更有效的缓存,可以根据到期时间减少获取密钥的频率。

以下是公钥页面的所有标题:

Accept-Ranges →bytes
Age →1358
Alt-Svc →quic=":443"; ma=2592000; v="39,38,37,36,35"
Cache-Control →public, max-age=3000
Content-Encoding →gzip
Content-Length →519
Content-Type →text/html
Date →Thu, 29 Jun 2017 14:46:55 GMT
Expires →Thu, 29 Jun 2017 15:36:55 GMT
Last-Modified →Thu, 29 Jun 2017 04:46:21 GMT
Server →sffe
Vary →Accept-Encoding
X-Content-Type-Options →nosniff
X-XSS-Protection →1; mode=block
4

1 回答 1

1

Expires头控制HTTP 缓存应该在该页面上保留多长时间。我们没有费心向 Google 的内容服务基础设施提供任何有关密钥文件的特殊说明,因此无论您看到什么,都是默认值。

“在查找失败时刷新密钥文件”方法不适合您的应用程序是否有原因?我不确定你能否做得更好,因为:

  • 除非存在错误或问题,否则您永远不会遇到密钥查找失败。
  • 即使您确实有一些预定的密钥提取,作为故障保险,在查找失败时刷新密钥文件可能仍然是可取的。

我们目前不非常频繁地轮换密钥,尽管这可能会在未来发生变化(这就是我们不公布轮换间隔的原因),所以它不应该是一个重要的负载来源。您是否注意到刷新键正在影响您?

--Matthew,谷歌云 IAP 工程师

于 2017-07-04T04:27:56.670 回答