美文网首页
服务工厂

服务工厂

作者: 灭蒙鸟 | 来源:发表于2016-10-08 09:45 被阅读579次

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
  • TokenHandleStore
  • RefreshTokenStore
  • ConsentStore
    • 保存和获取同意(consent)信息 (interface)
  • ViewService
    • 获取UI视图,默认使用内嵌的UI (interface)

可选扩展 (有默认实现,不喜欢就自己写)

  • TokenService
  • ClaimsProvider
    • 获取身份和访问令牌的声明信息(interface)
  • TokenSigningService
  • CustomGrantValidator
    • 实现自定义用户授权类型(interface)
  • CustomRequestValidator
    • 实现自定义的附加授权验证和令牌申请(interface)
  • RefreshTokenService
  • ExternalClaimsFilter
    • 为外部身份提供服务 过滤和转换声明(interface)
  • CustomTokenValidator
    • 实现自定义的附加令牌验证服务(interface)
  • CustomTokenResponseGenerator
    • 运行添加附加数据到令牌响应体里面interface
  • ConsentService
  • ClientPermissionsService
    • 实现同意(consent),参考令牌和更新令牌(interface)
  • EventService
    • 转发事件给其他日志系统 (e.g. elastic search) (interface)
  • RedirectUriValidator
    • 实现重定向和登出转移URIs的验证(interface)
  • LocalizationService
  • CorsPolicyService

请看 这里了解如何注册自定义服务和实现自定义存储。

相关文章

  • 这些节日竟然概括了女人的一生!

    生产交给工厂,服务交给帮帮。欢迎关注"工厂帮帮"微信公众号(fb2bcc),西南地区领先工厂类服务平台! 咨询服务...

  • 3. 设计模式的代码表示之一

    一、工厂模式(【客户类】→【工厂类/工厂方法】→创建【服务类】) 二、抽象工厂(【客户类】→【抽象工厂类】→【工厂...

  • 服务工厂

    layout: docs-default 服务工厂 WsFederationServiceFactory 建立在 ...

  • 服务工厂

    layout: docs-default 服务工厂 IdentityServer3实现了OpenID Connec...

  • 常用到的设计模式

    工厂模式 简单工厂模式 简单工厂一般是用一个工厂创建多个类的实例。工厂模式一般是指一个工厂服务一个接口,为这个接口...

  • Lucene和Solr服务封装

    1 架构设计2 工厂模式启动服务3 Lucene服务4 Solr服务 这个是将Lucene和Solr的服务进行封装...

  • 团长有大用处

    团购升级工厂到社区,团长负责工厂地面服务团队,工厂授权团长第一时间处理售后问题,收集用户反馈信息,团长成为工厂与用...

  • 2019-04-01

    觉知日记三十二: 往返于几个工厂之间,定样、定版、定色,感受到越是大的工厂,质量、服务越好,越是小的工厂就差些,大...

  • laravel 服务容器

    Laravel 服务容器 发现一篇讲服务容器的文章,讲的很好,转载过来laravel 服务容器 实质是工厂模式的升...

  • 思考|工作的选择+消费的艺术

    1 关于工作 流量相关生意>普通互联网公司>实体服务或商品>外贸>工厂制造>外资工厂 按照这个原则,工作可以这样选...

网友评论

      本文标题:服务工厂

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