分层解决方案:认证
分层解决方案模板已为认证进行了完整配置。所有服务和应用程序均配置为使用 OpenIddict 库进行认证。它们按照通用的方式进行认证配置。本文档解释了这种通用的认证结构。
如果在创建解决方案时选择了 分层 选项,解决方案将包含 *.AuthServer 项目。
OpenIddict
OpenIddict 是一个开源库,为在应用程序中实现 OpenID Connect 服务器提供了一种简单便捷的方法。ABP 提供了内置模块(OpenIddict、OpenIddict UI *)以将 OpenIddict 集成到解决方案中。
领域层
分层解决方案模板的领域层负责 OpenIddict 的定义(应用程序、作用域等)。同时,它提供了 OpenIddictDataSeedContributor 类来初始化数据。它会为解决方案创建默认的客户端(应用程序)和作用域。
OpenIddict UI * 模块仅当您在创建解决方案时选择了 OpenIddict UI 模块才会被添加。
OpenIddict UI * 模块提供了一个用户界面来管理 OpenIddict 实体,例如应用程序、作用域等。您可以从应用程序界面管理这些实体。
认证应用程序
如果您在解决方案创建过程中选择了 分层 选项,解决方案可能会包含一个外部认证服务器 (auth-server) 应用程序。否则,认证服务器将集成到其中一个 Web 应用程序中。
认证服务器负责令牌的生成、验证以及用户账户管理(例如登录、注册)。它使用账户或账户专业版 *模块。账户专业版 *模块额外支持社交登录(例如 Google、Facebook)。社交登录功能可以从应用程序的用户界面直接启用、禁用和配置。
认证流程
解决方案中的应用程序根据应用程序类型使用不同的认证流程:
一旦用户登录系统并从认证服务器获取令牌,*.HttpApi.Host 应用程序将使用 JWT Bearer 认证来授权用户的操作。
抠丁客





