过程数据


layout: docs-default

过程数据

很多IdentityServer3的功能需要把过程数据保存到数据库,这些过程数据包括 授权码,更新令牌,参考令牌和用户同意(consent).

注册

有几个存储来保存过程数据,通过IdentityServerServiceFactory方法来注册.所有的扩展接受EntityFrameworkServiceOptions参数,它包括下面属性:

  • ConnectionString: 连接字符串的名字,配置在.config 文件中.
  • Schema: 可选的数据库schema,如果没有提供,那么使用数据库默认schema(一般是dbo.)

配置过程数据的代码如下:

var efConfig = new EntityFrameworkServiceOptions {
   ConnectionString = "SomeConnectionName",
   //Schema = "someSchemaIfDesired"
};

var factory = new IdentityServerServiceFactory();
factory.RegisterOperationalServices(efConfig);

Data Cleanup

大部分过程数据有过期时间,期望在过期后从数据库中移除。这个可以通过托管IdentityServer的程序来实现,或者通过数据库自己的机制(有几种办法来实现).如果期望一个程序代号来执行清理工作,那么TokenCleanup类可以来协助你。这个类接受一个EntityFrameworkServiceOptionsInt32 间隔(单位为秒)来决定多久清理一次过期数据。它会异步连接上数据库,配置方式如下:

var efConfig = new EntityFrameworkServiceOptions {
    ConnectionString = connString,
    //Schema = "foo"
};

var cleanup = new TokenCleanup(efConfig, 10);
cleanup.Start();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容