在 ABP vNext 框架下,可以通过扩展 OpenIddict 的 ITokenExtensionGrant 接口来自定义登录验证逻辑。以下是实现自定义登录验证的步骤:
1. 创建自定义 Token 扩展 Grant 类
新建一个类继承自 ITokenExtensionGrant,并实现 HandleAsync 方法。例如,实现一个基于手机号和密码的登录验证:
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using OpenIddict.Server.AspNetCore;
using System.Security.Claims;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.OpenIddict.ExtensionGrantTypes;
public class PhoneTokenExtensionGrant : AbpOpenIdDictControllerBase, ITokenExtensionGrant
{
public const string ExtensionGrantName = "phone_password";
public string Name => ExtensionGrantName;
public async Task<IActionResult> HandleAsync(ExtensionGrantContext context)
{
var phoneNumber = context.Request.GetParameter("phone");
var passwo

最低0.47元/天 解锁文章
773

被折叠的 条评论
为什么被折叠?



