操作型数据 (Operational Data)

IdentityServer3 的许多特性需要数据库来持久化操作型数据。这包括授权码,refresh token ,reference token 和用户同意。

注册 (Registration)

有许多仓储用于持久化操作型数据。这些都是通过 IdentityServerServiceFactory。所有的扩展方法都接收一个 EntityFrameworkServiceOptions ,它包含以下属性:

以下代码用于配置操作型数据仓储:

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

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

数据清理 (Data Cleanup)

大多数操作型数据都有过期时间。所以最好是将这些旧的数据在过期后清除掉。这可以在托管 IdentityServer 的宿主应用之外或者数据库中实现(可以通过多种机制)。如果你想让应用代码帮你执行这样的清理,那么 TokenCleanup 类将会帮到你。它接收一个 EntityFrameworkServiceOptions 和一个 Int32 间隔(秒)用于配置旧的数据被清理的频率。它将会异步地连接数据库,配置如下:

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

var cleanup = new TokenCleanup(efConfig, 10);
cleanup.Start();