Удаление restsharp и использование обычного httpClient #22

Merged
on.nemtina merged 5 commits from fix/#883-remove-restsharp into master 2025-02-03 16:21:32 +05:00
Showing only changes of commit 9659b7bc8c - Show all commits

View File

@ -9,12 +9,12 @@ using System.Text.Json;
namespace DD.Persistence.Client.Helpers; namespace DD.Persistence.Client.Helpers;
/// <summary> /// <summary>
/// Êëàññ, ïîçâîëÿþùèé ãåíåðèðîâàòü api-token ///  Класс, позволяющий генерировать api-token
/// </summary> /// </summary>
public static class ApiTokenHelper public static class ApiTokenHelper
{ {
/// <summary> /// <summary>
/// Ìåòîä àâòîðèàöèè /// Метод авторизации
/// </summary> /// </summary>
/// <param name="httpClient"></param> /// <param name="httpClient"></param>
/// <param name="configuration"></param> /// <param name="configuration"></param>
@ -30,14 +30,14 @@ public static class ApiTokenHelper
var keycloakGetTokenUrl = configuration.GetSection("KeycloakGetTokenUrl").Get<string>() ?? string.Empty; var keycloakGetTokenUrl = configuration.GetSection("KeycloakGetTokenUrl").Get<string>() ?? string.Empty;
var jwtToken = needUseKeyCloak var jwtToken = needUseKeyCloak
? authUser.CreateKeyCloakJwtToken(keycloakGetTokenUrl) ? authUser.CreateKeyCloakJwtToken(keycloakGetTokenUrl, httpClient)
: authUser.CreateDefaultJwtToken(); : authUser.CreateDefaultJwtToken();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwtToken); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwtToken);
} }
/// <summary> /// <summary>
/// Àâòîðèçàöèÿ ÷åðåç ñîáñòâåííûé jwt-òîêåí /// Авторизация через собственный jwt-токен
/// </summary> /// </summary>
/// <param name="authUser"></param> /// <param name="authUser"></param>
/// <returns></returns> /// <returns></returns>
@ -68,14 +68,13 @@ public static class ApiTokenHelper
} }
/// <summary> /// <summary>
/// Àâòîðèçàöèÿ ÷åðåç jwt-òîêåí keycloak /// Авторизация через jwt-токен keycloak
/// </summary> /// </summary>
/// <param name="authUser"></param> /// <param name="authUser"></param>
/// <param name="keycloakGetTokenUrl"></param> /// <param name="keycloakGetTokenUrl"></param>
/// <returns></returns> /// <returns></returns>
private static string CreateKeyCloakJwtToken(this AuthUser authUser, string keycloakGetTokenUrl) private static string CreateKeyCloakJwtToken(this AuthUser authUser, string keycloakGetTokenUrl, HttpClient httpClient)
{ {
var sharedClient = new HttpClient();
var parameters = new Dictionary<string, string> { var parameters = new Dictionary<string, string> {
{ "username", authUser.Username }, { "username", authUser.Username },
{ "password", authUser.Password }, { "password", authUser.Password },
@ -84,7 +83,7 @@ public static class ApiTokenHelper
}; };
var encodedContent = new FormUrlEncodedContent(parameters); var encodedContent = new FormUrlEncodedContent(parameters);
using HttpResponseMessage response = sharedClient.PostAsync(keycloakGetTokenUrl, encodedContent).GetAwaiter().GetResult(); using HttpResponseMessage response = httpClient.PostAsync(keycloakGetTokenUrl, encodedContent).GetAwaiter().GetResult();
if (response.IsSuccessStatusCode == true) if (response.IsSuccessStatusCode == true)
{ {