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.
|
|
1 year ago | |
|---|---|---|
| .. | ||
| LINGYUN/Abp/OpenIddict/Portal | 1 year ago | |
| Microsoft/Extensions/DependencyInjection | 3 years ago | |
| FodyWeavers.xml | 3 years ago | |
| FodyWeavers.xsd | 3 years ago | |
| LINGYUN.Abp.OpenIddict.Portal.csproj | 2 years ago | |
| README.EN.md | 1 year ago | |
| README.md | 1 year ago | |
README.md
LINGYUN.Abp.OpenIddict.Portal
简介
LINGYUN.Abp.OpenIddict.Portal 是 OpenIddict 的门户认证扩展模块,提供了企业门户的认证功能,包括多租户选择、双因素认证、密码策略等特性。
功能特性
-
企业门户认证
- 支持企业列表选择
- 支持多租户认证
- 支持企业 Logo 显示
-
密码认证增强
- 支持邮箱登录
- 支持外部登录提供程序
- 支持密码策略验证
- 支持强制修改密码
- 支持定期修改密码
-
双因素认证
- 支持多种验证提供程序
- 支持验证码验证
- 支持认证器验证
-
安全日志
- 记录登录尝试
- 记录登录失败
- 记录密码修改
安装
dotnet add package LINGYUN.Abp.OpenIddict.Portal
使用
-
添加
[DependsOn(typeof(AbpOpenIddictPortalModule))]到你的模块类。 -
配置 OpenIddict 服务器:
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<OpenIddictServerBuilder>(builder =>
{
// 允许门户认证流程
builder.AllowPortalFlow();
});
}
- 使用示例:
POST /connect/token
Content-Type: application/x-www-form-urlencoded
grant_type=portal&
username=admin&
password=1q2w3E*&
enterpriseId=your-enterprise-id&
scope=openid profile
认证流程
-
企业选择
- 用户提供企业ID (enterpriseId)
- 如未提供或无效,返回可选企业列表
-
密码验证
- 支持用户名或邮箱登录
- 验证密码策略
- 检查账户状态
-
双因素认证 (如启用)
- 验证双因素认证码
- 支持多种验证提供程序
-
密码修改 (如需要)
- 首次登录强制修改密码
- 定期修改密码要求
参数说明
-
username (必填)
- 用户名或邮箱地址
-
password (必填)
- 用户密码
-
enterpriseId (必填)
- 企业ID,必须是有效的GUID格式
-
TwoFactorProvider (可选)
- 双因素认证提供程序名称
- 仅在启用双因素认证时需要
-
TwoFactorCode (可选)
- 双因素认证码
- 仅在启用双因素认证时需要
-
ChangePasswordToken (可选)
- 修改密码令牌
- 仅在需要修改密码时需要
-
NewPassword (可选)
- 新密码
- 仅在需要修改密码时需要
注意事项
- 企业ID必须是有效的GUID格式
- 密码必须符合系统配置的密码策略
- 双因素认证码有效期有限
- 所有认证操作都会记录安全日志
- 建议在生产环境中使用 HTTPS