单层解决方案:认证机制
单层解决方案模板已完整配置认证系统。所有服务和应用程序均采用OpenIddict库进行认证,并以统一方式完成配置。本文档将详细说明这一通用认证结构。
OpenIddict
OpenIddict是一款开源库,能够便捷地在应用中实现OpenID Connect服务器。ABP通过内置模块(OpenIddict、OpenIddict UI *)将OpenIddict集成至解决方案中。
初始数据播种
单层解决方案模板包含初始数据播种机制,可根据需要(例如使用Angular UI时)为解决方案创建默认客户端(应用程序)和作用域。宿主项目的Data文件夹中可找到OpenIddictDataSeedContributor类。若认证由UI应用程序(如MVC/Razor Pages)处理,则不会包含此类。
仅当创建解决方案时选择启用,才会添加OpenIddict UI *模块。
OpenIddict UI * 模块提供了管理OpenIddict实体(如应用程序、作用域等)的用户界面,可直接通过应用UI管理这些实体。
外部登录提供商
认证服务器负责处理令牌生成、验证和用户账户管理(如登录、注册)。它使用账户或账户专业版 *模块。其中账户专业版 *模块额外支持社交登录功能(如Google、Facebook)。社交登录的启用、禁用和配置均可直接在应用用户界面中操作。
认证流程
解决方案中的应用程序根据类型采用不同的认证流程:
若UI为SPA应用程序(如Angular应用),API宿主端将采用JWT持有者认证来授权用户操作。
抠丁客





