在Azure函数中缓存公共JWT身份验证密钥

问题描述 投票:0回答:1

我具有带有各种终结点的Azure功能.NET core 2.1。

为了进行身份验证,我有一个外部安全提供程序,需要从该文件中检索发现文档(元数据),然后才能验证请求的令牌。

当前每次发出单个请求时都会加载文档:

var discoveryDocument = await configurationManager.GetConfigurationAsync();

由于文件很少更改,现在我自然不想为每个请求都进行此调用。

另一方面,Azure函数是无状态的。我听说ConfigurationManager.GetConfigurationAsync()正在以某种方式缓存检索到的数据,尽管我找不到关于此的更多信息。目前,我最终获得了一个函数,该函数在启动时被触发一次,检索文档并将其存储在本地文件系统中。因此,当发出请求时,我将再次读取文件,以避免再次请求获取公共密钥。

任何经验?

azure jwt azure-functions asp.net-core-2.1
1个回答
0
投票
至少应该在该函数实例上用作内存中的缓存。如果函数扩展到多个实例,则它们的缓存将被分离。
© www.soinside.com 2019 - 2024. All rights reserved.