构建安全且实时的应用与服务
1. 从ASP.NET Core应用到云身份验证
在开发ASP.NET Core Web应用时,我们可以将空的应用框架连接到支持云的第三方身份提供者。这样做能让应用摆脱手动管理身份验证的负担,还能利用承载令牌和OIDC标准。虽然通常不建议使用框架和模板,因为它们可能会导致代码臃肿,但在这个例子中,模板包含了我们本来就需要创建的样式表和布局,所以还算不错。
不过,依赖特定于操作系统的安全功能在云环境中会引发诸多问题。例如,在非Windows系统上启动应用时,可能会看到如下警告信息:
warn:
Microsoft.Extensions.DependencyInjection.DataProtectionServices[59]
Neither user profile nor HKLM registry available.
Using an ephemeral key repository.
Protected data will be unavailable when application exits.
warn:
Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository
[50]
Using an in-memory repository.
Keys will not be persisted to storage.
问题的核心在于加密密钥和数据保护的使用。在传统的大型Windows服