// public UserDTO() public UserDTO(LemonUser user) { Id = user.Id; FirstName = user.FirstName; LastName = user.LastName; DateCreated = user.DateCreated; }
private string GenerateJwtToken(LemonUser user) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id) }; var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Guid"])); var creds = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature); var token = new JwtSecurityToken(claims: claims, signingCredentials: creds); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public async Task <object> Register([FromForm] RegisterDto registerData) { if (ModelState.IsValid) { var user = new LemonUser { UserName = registerData.UserInfo.Username, DateCreated = DateTime.UtcNow }; if (registerData.Avatar != null) { if (string.Equals(registerData.Avatar.ContentType, "image/png", StringComparison.OrdinalIgnoreCase)) { using (var memoryStream = new MemoryStream()) { await registerData.Avatar.CopyToAsync(memoryStream); user.Avatar = memoryStream.ToArray(); } } } user.Email = registerData.UserInfo.Email; var result = await _userManager.CreateAsync(user, registerData.UserInfo.Password); if (result.Succeeded) { await _signInManager.SignInAsync(user, false); return(GenerateJwtToken(user)); } var exceptionText = result.Errors.Aggregate("User Creation Failed, Errors were: \n\r\n\r", (current, error) => current + (" - " + error.Description + "\n\r")); throw new LemonInvalidException(exceptionText); } else { throw new LemonInvalidException("Bad new user data"); } }
public UserInfoDto(LemonUser user) { this.Id = user.Id; this.Username = user.UserName; }