public async Task <string> SendResetLink(string userEmail) { var user = await _userManager.FindByEmailAsync(userEmail); if (user == null) { return(null); } var token = await _userManager.SavePasswordResetToken(_userStore, user, int.Parse(_configuration["Confirmation:ResetPasswordTokenLifeSpanInHours"])); if (token != null) { var url = _configuration["ApplicationUrl:localhost"]; var callbackUrl = $"{url}/reset/{token}"; _messageSender.SendEmail("Reset password", _messageSender.GetResetPasswordTemplateId(), user, callbackUrl); } return(token); }