Добавление претензий при создании нового пользователя

Я создаю нового пользователя с использованием идентификатора ядра ASP.NET следующим образом:

new User {
  Email = "[email protected]",
  Name = "John"
}

await userManager.CreateAsync(user, "password");

Мне нужно добавить претензии при создании пользователя. Я пытался:

new User {
  Email = "[email protected]",
  Name = "John",
  Claims = new List<Claim> { /* Claims to be added */ }  
}

Свойство Claims доступно только для чтения.

Каков наилучший способ сделать это?

Ответ 1

Вы можете использовать UserManager<YourUser>.AddClaimAsync для добавления претензий к вашему пользователю

var user = new User {
  Email = "[email protected]",
  Name = "John"
}

await userManager.CreateAsync(user, "password");

await userManager.AddClaimAsync(user, new System.Security.Claims.Claim("your-claim", "your-value"));

Или добавить претензии к пользователю Claims коллекции

var user = new User {
  Email = "[email protected]",
  Name = "John"
}

user.Claims.Add(new IdentityUserClaim<string> 
{ 
    ClaimType="your-type", 
    ClaimValue="your-value" 
});

await userManager.CreateAsync(user);