簡體   English   中英

如何高效存儲firebase雲函數的Token?

[英]How to store Token for firebase cloud functions efficiently?

我有一個 firebase 雲 function,它使用快速中間件生成一個通過路由向上傳遞的 authToken。

這個令牌持續 24 小時,所以我不想用過多的請求向服務發送垃圾郵件。 因此,我想在重新生成結果之前將結果緩存一段時間。

我考慮了兩種方法。

  1. 查看生成令牌時如何緩存 axios 請求。
  2. 使用 Firebase Secret Manager 存儲該值。

在研究 axios 緩存時,我已經使用了秘密管理器,因此同時實現了兩者。

秘密經理

目前我已經實現了秘密管理器來存儲和更新令牌,當我需要外部 API 的令牌時,我可以從秘密管理器中獲取它。

我有一個計划的工作,然后創建一個新令牌,然后在添加新令牌之前禁用所有以前的秘密版本。

創建令牌是通過使用axios調用外部API的auth端點實現的。

Axios 緩存在了解如何為在雲功能上快速運行啟用緩存時。 我目前的印象是它涉及添加另一層復雜性,例如 CDN 或 Redis 解決方案。

我還看到了中間緩存解決方案,例如https://github.com/AlbinoDrought/cachios ,它看起來像是利用了某種本地 memory。 我認為這意味着分布在不同區域/實例中的雲功能將擁有自己獨特的本地緩存。 我不知道這是否是一個問題。 但是我認為在配置和設置方面比 redis 更輕量級嗎?

我的問題是,我希望這不是基於 SO 的意見。 但。

使用秘密管理器真的是個壞主意嗎? 鑒於秘密經理通常是我認為圍繞不經常改變的長期價值觀而設計的。 還是完全沒問題,如果我每天有 2 個請求,那么每年可能有 2x365 個版本針對秘密管理器進行記錄,這些版本必須時不時地進行整理。 是我不知道的含義嗎?

還是啟用某種 CDN 或快速緩存層是一種更標准的方法? 如果是這樣,是否有任何關於專門針對谷歌 Firebase 雲功能的簡單快速緩存層的指導?

每天 2 個請求就可以了。 請在此處查看有關旋轉密鑰的文檔: https://cloud.google.com/secret-manager/docs/rotation-recommendations

請注意,它表明,在方法 2 和 3 中,有效用例包括在每次啟動時獲取秘密,以及連續獲取秘密。 2 次/天的頻率低於這兩者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM