/// <summary> /// 保存 /// </summary> /// <param name="user"></param> /// <returns></returns> public async Task Save(User user) { user.CreatedDate = DateTime.Now; user.Id = Guid.NewGuid(); user.Password = user.Password.ToMD5Hash(); db.Users.Add(user); await db.SaveChangesAsync(); }
public async Task <User> RegisterAsync(RegisterRequest userDto) { var user = await CreateUserFromDtoAsync(userDto); if (user != null) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(jwtSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.UserId.ToString()) }), Expires = DateTime.UtcNow.AddDays(2), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var emailTokenString = tokenHandler.WriteToken(token); user.Verification = emailTokenString; dbcontext.Users.Update(user); await dbcontext.SaveChangesAsync(); return(user); } return(user); }