У меня есть интересная и странная проблема - у меня есть функция, которая изменяет пароль для пользователя в базе данных. Пароль ha sh bCrypt - и, как правило, метод PUT работает один раз, а если он не работает - в чем может быть причина? Код ниже - спасибо за советы.
Настольная программа - функция:
public async Task UpdatePasswordUser(string new_password, string username)
{
if (!string.IsNullOrEmpty(token))
{
client.DefaultRequestHeaders.Remove("Authorization");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
}
var data = JsonConvert.SerializeObject(new Table_test { Password = new_password });
var response_table = await client.PutAsync(_baseUrl + "/api/table_test/changepassword-" + new_password + "-" + username, new StringContent(data, Encoding.UTF8, "application/json"));
if (!response_table.IsSuccessStatusCode)
{
if (response_table.StatusCode == System.Net.HttpStatusCode.Unauthorized)
MessageBox.Show("Error, Code : " + response_table.StatusCode);
MessageBox.Show("Error, Code : " + response_table.StatusCode);
}
}
API:
[Authorize]
[HttpPut]
[Route("changepassword-{new_password}-{username}")]
public async Task<IActionResult> ChangePassword(string new_password, string username)
{
return await Task.Run(() =>
{
using (var c = new MySqlConnection(con_sql.MySQL))
{
var sql = @"UPDATE table_test SET password = @password WHERE user = @user";
var query = c.Query<Models.Table_test>(sql, new { Password = new_password, User = username }, commandTimeout: 60);
return Ok(query);
}
});
}
Например: Пользователь - test12345 Новый пароль - 2 $ b $ 06 $ KiL6aoxxl8ulZ1rQzE1HQnrGLCOq9JM0NUiL5FOSkOvdT.9md8cW
Возможно, сбой на стороне: новый StringContent (данные, Encoding.UTF8, "application / json")?
за предложения) * *1011*. 1013 *