public async Task <IActionResult> CreateUser([FromBody] Register user) { try { if (!ModelState.IsValid) { return(BadRequest()); } var vozUser = new VozUser() { Email = user.Email, Name = user.Name, UserName = user.Email, }; var roleExist = await _roleManager.RoleExistsAsync("Admin"); if (!roleExist) { await _roleManager.CreateAsync(new IdentityRole("Admin")); } var result = await _userManger.CreateAsync(vozUser, user.Password); var rs = await _userManger.AddToRoleAsync(vozUser, "Admin"); if (result.Succeeded && rs.Succeeded) { return(Ok()); } return(BadRequest(result.Errors)); } catch (Exception e) { throw; } }
public string CreateToken(VozUser user) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.NameId, user.UserName), }; // generate signin credentials var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("supper secret key")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(7), SigningCredentials = creds, }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }