Client 和 Scope (Clients and Scopes)

仓储 (Stores)

ClientStore

ClientStore 是对 IClientStore 接口基于 EF 的实现。它可以独立于 ScopeStore 使用。

ScopeStore

ScopeStore 是对 IScopeStore 接口基于 EF 的实现。它可以独立于 ClientStore 使用。

注册 (Registration)

使用任意一个仓储,你都需要对其注册。IdentityServerServiceFactory 提供了扩展方法来注册这两个仓储。所有的扩展方法都接收一个 EntityFrameworkServiceOptions ,它包含以下的属性:

独立配置仓储的代码如下:

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

var factory = new IdentityServerServiceFactory();
factory.RegisterClientStore(efConfig);
factory.RegisterScopeStore(efConfig);

如果两个仓储使用的是同样的 EntityFrameworkServiceOptions ,那么可以使用一个便捷的扩展方法:

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

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