这是基于vue-vben-admin 模板适用于abp vNext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.6 KiB

身份验证流程

**本文档引用的文件** - [AbpAccountAuthenticationTypes.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Web/AbpAccountAuthenticationTypes.cs) - [AccountAppService.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account/AccountAppService.cs) - [AccountController.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account/AccountController.cs) - [Login.cshtml.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Web/Pages/Account/Login.cshtml.cs) - [Login.js](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Web/Pages/Account/Login.js) - [MyProfileAppService.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account/MyProfileAppService.cs) - [IdentitySessionAppService.cs](file://aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity/IdentitySessionAppService.cs) - [IdentitySessionController.cs](file://aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity/IdentitySessionController.cs) - [AbpIdentitySessionAuthenticationService.cs](file://aspnet-core/modules/identity/LINGYUN.Abp.Identity.AspNetCore.Session/LINGYUN.Abp.Identity/AspNetCore/Session/AbpIdentitySessionAuthenticationService.cs) - [ProcessSignInIdentitySession.cs](file://aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN.Abp.OpenIddict/AspNetCore/Session/ProcessSignInIdentitySession.cs) - [ProcessSignOutIdentitySession.cs](file://aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN.Abp.OpenIddict/AspNetCore/Session/ProcessSignOutIdentitySession.cs) - [IdentitySessionStore.cs](file://aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity/Session/IdentitySessionStore.cs) - [AuthenticatorDto.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account/Dto/AuthenticatorDto.cs) - [VerifyAuthenticatorCodeInput.cs](file://aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account/Dto/VerifyAuthenticatorCodeInput.cs) - [DefaultAuthenticatorUriGenerator.cs](file://aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity/Security/DefaultAuthenticatorUriGenerator.cs)

目录

  1. 简介
  2. 核心身份验证流程
  3. 身份验证组件架构
  4. 多因素认证(MFA)实现
  5. 用户会话管理
  6. 身份验证API端点
  7. 前端身份验证流程
  8. 序列图:完整身份验证流程
  9. 代码示例
  10. 结论

简介

本文档详细阐述了ABP Next Admin系统的身份验证流程,涵盖用户登录、注销、密码重置等核心功能的实现机制。系统基于ABP框架构建,采用模块化设计,集成了多种身份验证方式,包括密码登录、手机号验证码登录、二维码登录以及第三方登录(如微信、QQ)。身份验证流程通过OpenIddict实现OAuth 2.0和OpenID Connect协议,确保了安全性和标准化。

系统的核心身份验证逻辑分布在accountidentityidentityServer等模块中。account模块提供用户友好的登录界面和API,identity模块管理用户数据和会话,而identityServer模块则作为授权服务器,负责令牌的发放和验证。整个流程从用户在前端发起请求开始,经过后端服务的验证,最终生成JWT令牌,实现安全的用户