Пример #1
0
        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"));
            }
        }