Identity Server 根据 ResourceOwnerPassword Validator 中生成的 Guid 添加声明
Identity Server Add Claim Based Upon the Guid Generated in ResourceOwnerPassword Validator
我正在使用 ASP.Net Core.I 实现 Identity Server 4,希望添加基于 Class ResourceOwnerPasswordValidator 中生成的 Guid 的声明,它继承自 IResourceOwnerPasswordValidator。(声明在继承自 IProfileService 的 ProfileService Class 中生成。如何在这两个 Class 之间传递参数。
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;
}
}
上下文是这两个之间的公共参数 Classes.By 在 ResourceOwnerPasswordValidator Class 中更新上下文(根据我们的方便设置任何值)我们可以在另一个 class(配置文件服务)。
我正在使用 ASP.Net Core.I 实现 Identity Server 4,希望添加基于 Class ResourceOwnerPasswordValidator 中生成的 Guid 的声明,它继承自 IResourceOwnerPasswordValidator。(声明在继承自 IProfileService 的 ProfileService Class 中生成。如何在这两个 Class 之间传递参数。
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;
}
}
上下文是这两个之间的公共参数 Classes.By 在 ResourceOwnerPasswordValidator Class 中更新上下文(根据我们的方便设置任何值)我们可以在另一个 class(配置文件服务)。