我有一个API,它使用[Authorize]属性和JWT来验证用户,直到今天,它还是IIS上运行的唯一示例,现在我们被要求转向Docker容器+ Kubernetes(在Azure下)水平扩展。当在多个Docker示例上运行时,这如何工作?身份验证cookie在两个示例中都能正常工作吗?或者我必须将身份验证转移到不同于JWT的地方吗?先谢了
[Authorize]
41zrol4v1#
在多个示例中,它将不起作用。因为,在默认模式下,数据保护密钥与示例绑定。有多种方法可以使它们在示例之间共享,如本文所述https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-7.0对于您在Azure中的部署,最好使用Azure存储,并专门通过Azure Vault提供保护构建器.服务.添加数据保护().将密钥持久化到AzureBlobStorage(新URI(“”)).使用AzureKeyVault保护密钥(新URI(“”),新默认AzureCredential());
1条答案
按热度按时间41zrol4v1#
在多个示例中,它将不起作用。因为,在默认模式下,数据保护密钥与示例绑定。有多种方法可以使它们在示例之间共享,如本文所述
https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-7.0
对于您在Azure中的部署,最好使用Azure存储,并专门通过Azure Vault提供保护
构建器.服务.添加数据保护().将密钥持久化到AzureBlobStorage(新URI(“”)).使用AzureKeyVault保护密钥(新URI(“”),新默认AzureCredential());