【发布时间】:2018-12-17 05:26:00
【问题描述】:
我正在使用 ASP.Net Core 实现 Identity Server 4。我想添加基于类 ResourceOwnerPasswordValidator 中生成的 Guid 的声明,该类继承自 IResourceOwnerPasswordValidator。(声明是在继承自的 ProfileService 类中生成的IProfileService)。如何在这两个类之间传递参数。
public Task ValidateAsync(ResourceOwnerPasswordValidationContext context)
{
int res = verifyUser.verify(context.UserName, context.Password, context.Request.Client.ClientId);
if (res == 1)
{
context.Result.Error = "Invalid User";
context.Result.ErrorDescription = "Email ID doesnot Resgistered";
return Task.CompletedTask;
}
else if (res == 2)
{
context.Result.Error = "Verify Mail";
context.Result.ErrorDescription = "Please Verify Your Mail";
return Task.CompletedTask;
}
else if (res == 4)
{
context.Result.Error = "Invalid Password";
context.Result.ErrorDescription = "Password Missmatch";
return Task.CompletedTask;
}
else
{
Guid claim=verifyUser.GetGuid(context.UserName);
//For this Guid Claim Should be added in ProfileService
context.Result = new GrantValidationResult("", authenticationMethod: context.UserName);
return Task.CompletedTask;
}
}
【问题讨论】:
-
如果你能提供minimal reproducible example就太好了
标签: c# asp.net asp.net-mvc ide asp.net-identity