美文网首页
过程数据

过程数据

作者: 灭蒙鸟 | 来源:发表于2017-02-25 18:29 被阅读196次

    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();
    

    相关文章

      网友评论

          本文标题:过程数据

          本文链接:https://www.haomeiwen.com/subject/yclvyttx.html