如何有效地为 firebase 云函数存储令牌?
How to store Token for firebase cloud functions efficiently?
我有一个 firebase 云函数,它使用 express 中间件生成一个 authToken,它通过路由向上传递。
这个令牌持续 24 小时,所以我不想用过多的请求向服务发送垃圾邮件。因此,我想在重新生成之前将结果缓存一段时间。
我考虑了两种方法。
- 查看如何在生成令牌时缓存 axios 请求。
- 使用 Firebase Secret Manager 存储值。
在研究 axios 缓存时,我已经使用了秘密管理器,所以并行实现了这两个。
秘密管理员
目前我已经实现了 secret manager 来存储和更新令牌,当我需要外部令牌时 API,我可以从 secret manager 中获取它..
我有一个计划的作业,然后创建一个新令牌,然后在添加新令牌之前禁用所有以前的秘密版本。
创建token是通过axios调用外部的auth端点实现的API.
Axios 缓存
在了解如何为云功能上的 express 运行 启用缓存时。我目前的印象是它涉及添加另一层复杂性,例如 CDN 或 Redis 解决方案。
我还看到了中间缓存解决方案,例如 https://github.com/AlbinoDrought/cachios,它看起来像是利用了某种本地内存。我认为这意味着分布在不同 regions/instances 中的云功能将拥有自己独特的本地缓存。我不知道这是否是一个问题。但是我会认为在配置和设置方面比说 redis 更轻量级吗?
我的问题 是,我希望这不是基于 SO 的意见。但是
使用秘密管理器真的是个坏主意吗?鉴于秘密经理通常是我认为围绕不经常改变的长期价值观而设计的。还是完全没问题,如果我每天有 2 个请求,那么每年可能有 2x365 个版本针对秘密管理器进行记录,这些版本必须时不时地进行整理。是我不知道的含义吗?
或者启用某种 CDN 或快速缓存层是一种更标准的方法吗?如果是这样,是否有关于专门针对 google Firebase 云功能的简单快速缓存层的任何指导?
每天 2 个请求就可以了。请在此处查看有关轮换密钥的文档:https://cloud.google.com/secret-manager/docs/rotation-recommendations
请注意,它表明,在方法 2 和 3 中,有效的用例包括在每次启动时获取秘密,以及连续获取秘密。 2 次/天的频率低于这两者。
我有一个 firebase 云函数,它使用 express 中间件生成一个 authToken,它通过路由向上传递。
这个令牌持续 24 小时,所以我不想用过多的请求向服务发送垃圾邮件。因此,我想在重新生成之前将结果缓存一段时间。
我考虑了两种方法。
- 查看如何在生成令牌时缓存 axios 请求。
- 使用 Firebase Secret Manager 存储值。
在研究 axios 缓存时,我已经使用了秘密管理器,所以并行实现了这两个。
秘密管理员
目前我已经实现了 secret manager 来存储和更新令牌,当我需要外部令牌时 API,我可以从 secret manager 中获取它..
我有一个计划的作业,然后创建一个新令牌,然后在添加新令牌之前禁用所有以前的秘密版本。
创建token是通过axios调用外部的auth端点实现的API.
Axios 缓存 在了解如何为云功能上的 express 运行 启用缓存时。我目前的印象是它涉及添加另一层复杂性,例如 CDN 或 Redis 解决方案。
我还看到了中间缓存解决方案,例如 https://github.com/AlbinoDrought/cachios,它看起来像是利用了某种本地内存。我认为这意味着分布在不同 regions/instances 中的云功能将拥有自己独特的本地缓存。我不知道这是否是一个问题。但是我会认为在配置和设置方面比说 redis 更轻量级吗?
我的问题 是,我希望这不是基于 SO 的意见。但是
使用秘密管理器真的是个坏主意吗?鉴于秘密经理通常是我认为围绕不经常改变的长期价值观而设计的。还是完全没问题,如果我每天有 2 个请求,那么每年可能有 2x365 个版本针对秘密管理器进行记录,这些版本必须时不时地进行整理。是我不知道的含义吗?
或者启用某种 CDN 或快速缓存层是一种更标准的方法吗?如果是这样,是否有关于专门针对 google Firebase 云功能的简单快速缓存层的任何指导?
每天 2 个请求就可以了。请在此处查看有关轮换密钥的文档:https://cloud.google.com/secret-manager/docs/rotation-recommendations
请注意,它表明,在方法 2 和 3 中,有效的用例包括在每次启动时获取秘密,以及连续获取秘密。 2 次/天的频率低于这两者。