我正在使用云函数来调用使用OAuth2安全性的外部服务。我对云函数的每次调用都首先进行身份验证,并为随后对外部服务的API调用获取访问令牌。
访问令牌会在30分钟后过期,因此为避免令牌过期,每次调用我都会获得一个新令牌。
我想使用云功能调度程序来获取访问令牌并将其保存到云功能配置中,我可以将其调度为每25分钟一次。这样可以避免每次调用都需要先获取访问令牌。
看起来云功能环境config不允许以编程方式更新云功能中的配置。
https://firebase.google.com/docs/cli/#functions-commands
有人解决过类似的事情吗?
更新:如后续文档所述,需要再次部署云功能以进行配置更新。我认为该问题的解决方案很可能是CI Cronjob,它可以获取访问令牌,更新Firebase云功能配置并重新部署云功能。
答案 0 :(得分:0)
我认为尝试更新功能的配置或完全重新部署功能并不是真正的最佳主意。您最好将信息存储在数据库或其他共享位置中,然后每个函数都可以查询该信息以获得所需的令牌及其元数据。该函数可以将令牌存储在内存中,只要它知道它是有效的,就不必每次调用都获取它。