private async Task <ClaimsPrincipal> CreateClaimsPrincipal(BaldaUser user) { var roles = await _userManager.GetRolesAsync(user); var claims = new List <Claim> { new (ClaimTypes.Name, user.UserName) }; claims.AddRange(roles.Select(role => new Claim(ClaimTypes.Role, role))); return(new ClaimsPrincipal(new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme))); }
public async Task <IActionResult> Register([FromBody] RegistrationRequest request) { try { var user = new BaldaUser { UserName = request.UserName }; var identity = await _userManager.CreateAsync(user, request.Password); return(identity.Succeeded ? Ok(new { message = "You have been registered successfully!" }) : Problem(identity.Errors.First().Description, "", 401, "Could not register user")); } catch (Exception e) { _logger.LogError(e.Message, e); return(Problem("Your request could not be processed", "", 500, "Something went wrong")); } }