layout: docs-default
服务工厂
IdentityServer3实现了OpenID Connect和OAuth2的诸多特性,大部分特性设计成可以被替换。如果IdentityServer3默认实现不符合你的需要,你可以方便的重写部分特性,甚至可以完全用不同的实现来替换IdentityServer3.事实上,IdentityServer3有大量的扩展点需要托管程序来扩展,比如:保存配置数据,实现用户凭据的验证,管理用户信息等。
IdentityServer3.Core.Configuration.IdentityServerServiceFactory
保有所有这些功能块,必须在启动的时候通过IdentityServerOptions
类 (参看 这里 )了解更多的关于配置选项的信息).
扩展点分为三大类:
强制扩展
这些扩展是IdentityServer3正常运行所必须的。
-
UserService
- 实现基于本地用户信息存储,相关的外部用户,声明获取和登出逻辑.
IdentityServer3提供两个标准实现 MembershipReboot
和 ASP.NET Identity
- 实现基于本地用户信息存储,相关的外部用户,声明获取和登出逻辑.
-
ScopeStore
- 实现作用域信息的获取。
-
ClientStore
- 实现客户端配置信息的获取
IdentityServerServiceFactory
允许使用内存存储来提供用户,客户端和作用域信息(请看这里).前面的例子,我们已经使用了内存存储来简化例子。
生产场景必须扩展 (默认使用内存存储实现)
-
AuthorizationCodeStore
- 授权码的保存和获取(interface)
-
TokenHandleStore
- 保存和获取参考令牌(interface)
-
RefreshTokenStore
- 保存和获取更新令牌(interface)
-
ConsentStore
- 保存和获取
同意(consent)
信息 (interface)
- 保存和获取
-
ViewService
- 获取UI视图,默认使用内嵌的UI (interface)
可选扩展 (有默认实现,不喜欢就自己写)
-
TokenService
- 创建身份和访问令牌(interface)
-
ClaimsProvider
- 获取身份和访问令牌的声明信息(interface)
-
TokenSigningService
- 创建和签署安全令牌(interface)
-
CustomGrantValidator
- 实现自定义用户授权类型(interface)
-
CustomRequestValidator
- 实现自定义的附加授权验证和令牌申请(interface)
-
RefreshTokenService
- 创建和刷新 更新令牌(interface)
-
ExternalClaimsFilter
- 为外部身份提供服务 过滤和转换声明(interface)
-
CustomTokenValidator
- 实现自定义的附加令牌验证服务(interface)
-
CustomTokenResponseGenerator
- 运行添加附加数据到令牌响应体里面interface
-
ConsentService
- 实现
授权(consent)
逻辑 (interface)
- 实现
-
ClientPermissionsService
- 实现
同意(consent)
,参考令牌和更新令牌(interface)
- 实现
-
EventService
- 转发事件给其他日志系统 (e.g. elastic search) (interface)
-
RedirectUriValidator
- 实现重定向和登出转移URIs的验证(interface)
-
LocalizationService
- 实现本地化显示信息 (interface)
-
CorsPolicyService
- 实现跨域CORS策略(interface)
请看 这里了解如何注册自定义服务和实现自定义存储。
网友评论