我们正在使用身份服务器 4 并使用 Web 应用程序使用它。我们能够成功登录并使用配置文件服务从 ID4 服务器添加一些额外的声明,但我们希望从客户端添加更多声明。
基本上我们的登录请求会发送到 ID4 服务器,它会验证令牌并将其发送回客户端应用程序。现在在客户端应用程序中,用户将从客户端应用程序中选择公司、职位、财务年度。
我们希望将从下面屏幕中选择的详细信息添加到令牌作为声明。
可以吗?
任何有关示例代码的帮助都值得赞赏:)
通过使用 IClaimsTransformation 我们可以实现它。应用程序中的每个请求都会触发它。
public class CustomTransformation : IClaimsTransformation
{
private readonly IHttpContextAccessor contextAccessor;
public CustomTransformation (IHttpContextAccessor context)
{
contextAccessor = context;
}
public Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
{
return Task.FromResult(principal);
}
}