private TokenResult BuildToken(DreamerUserDto dreamerUser) { var claims = new[] { new Claim(ClaimTypes.NameIdentifier, dreamerUser.Id.ToString()), new Claim(ClaimTypes.Email, dreamerUser.Email), new Claim(ClaimTypes.Name, dreamerUser.Name), new Claim(ClaimTypes.Role, dreamerUser.Role.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(TokenConfig.TokenKey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: TokenConfig.Domain, audience: TokenConfig.Domain, claims: claims, expires: DateTime.Now.AddHours(TokenConfig.ExpiredInHours), signingCredentials: creds); return(new TokenResult() { Token = new JwtSecurityTokenHandler().WriteToken(token), Issuer = token.Issuer, Expires = token.ValidTo, Role = dreamerUser.Role }); }
public IActionResult AddNewUser(DreamerUserDto user) { if (!ModelState.IsValid) { return(BadRequest()); } var savedUser = SecurityRepository.AddNewUser(user.Email, user.Password, user.Name, user.Role); if (savedUser == null) { return(BadRequest()); } else { return(Json(savedUser)); } }