在ASP.NET Core中使用SSO时在何处添加自定义声明?

时间:2017-12-06 10:16:44

标签: c# asp.net-core openid-connect claims-based-identity asp.net-core-2.0

我设置了我的OpenID Connect身份验证,如下所示:

services.AddAuthentication(sharedOptions =>
{
    sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
  .AddCookie()
  .AddOpenIdConnect(option =>
  {
      option.ClientId = config.ClientId;
      option.Authority = String.Format(config.AadInstance, config.Tenant);
  });

在我的配置文件中,我有具有提升权限的用户列表,我希望在声明中反映这些用户。

向身份添加自定义声明的最佳位置在哪里?

1 个答案:

答案 0 :(得分:0)

在ASP.NET Core2中,您可以使用“IClaimsTransformation”。实现此接口,然后在startup.cs中添加以下行,前提是您的类名是“ClaimsTransformer”。

services.AddSingleton<IClaimsTransformation, ClaimsTransformer>();