欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第30章 部署 - Identity Server 4 中文文档(v1.0.0)

程序员文章站 2022-05-21 17:34:49
您的身份服务器只是一个标准的ASP.NET Core应用程序,包括IdentityServer中间件。首先阅读有关发布和部署的官方Microsoft "文档" (尤其是有关负载平衡器和代理的 "部分" )。 30.1 典型架构 通常,您将设计IdentityServer部署以实现高可用性: Iden ......

您的身份服务器只是一个标准的asp.net core应用程序,包括identityserver中间件。首先阅读有关发布和部署的官方microsoft (尤其是有关负载平衡器和代理的)。

30.1 典型架构

通常,您将设计identityserver部署以实现高可用性:

identityserver本身是无状态的,不需要服务器关联 - 但是有些数据需要在实例之间共享。

30.2 配置数据

这通常包括:

  • 资源
  • 客户
  • 启动配置,例如密钥材料,外部提供商设置等......

存储数据的方式取决于您的环境。在配置数据很少更改的情况下,我们建议使用内存存储和代码或配置文件。

在高度动态的环境(例如saas)中,我们建议使用数据库或配置服务动态加载配置。

identityserver支持开箱即用的代码配置和配置文件(请参阅)。对于数据库,我们为基于entity framework core的数据库提供支持。

您还可以通过实现iresourcestoreiclientstore构建自己的配置存储。

30.3 密钥材料

另一个重要的启动配置是您的主要材料,请参阅以获取有关密钥材料和加密的更多详细信息。

30.4 运营数据

对于某些操作,identityserver需要持久性存储来保持状态,这包括:

  • 发布授权码
  • 发出参考和刷新令牌
  • 存储同意

您既可以使用传统数据库来存储操作数据,也可以使用具有redis等持久性功能的缓存。上面提到的ef core实现也支持运营数据。

您还可以通过实现ipersistedgrantstore对自己的自定义存储机制的支持- 默认情况下identityserver会注入内存中的版本。

30.5 asp.net core 数据保护

asp.net core本身需要共享密钥材料来保护敏感数据,如cookie,状态字符串等。请参阅的官方文档。

您可以重复使用上述持久性存储之一,也可以使用像共享文件这样的简单文件。

github地址