I'm trying to create a user profile with the role of "User" on first login. The code below is creating the user profile, but the role is not being assigned properly. Can you identify what I am missing?
var roleStore = new RoleStore<IdentityRole>(context);
var appRoleManager = new RoleManager<IdentityRole>(roleStore, null, null, null, null, null);
var userStore = new UserStore<IdentityUser>(context);
if (!context.Users.Any(u => u.UserName == userName))
{
// Create new user
var newUser = new IdentityUser {
Email = userName,
NormalizedEmail = userName,
UserName = userName,
NormalizedUserName = userName,
EmailConfirmed = true,
PhoneNumberConfirmed = true,
SecurityStamp = Guid.NewGuid().ToString("D")
};
var roleFound = await appRoleManager.FindByNameAsync("User");
var userRole = new IdentityUserRole<string> {
RoleId = roleFound.Id
};
newUser.Roles.Add(userRole);
await userStore.CreateAsync(newUser);
}
return NoContent();