У меня есть API, который возвращает мне токен, и, используя этот токен, я могу делать больше запросов к API, сейчас я храню токен в сеансе, однако я считаю, что использование сеанса лишает цели использования токена, поэтому Мне интересно, как я могу хранить токен у повара ie? Ниже приведен код, где я получаю токен и записываю его в сеанс: -
public async Task<string> GetToken(bool tokenExpired)
{
if (_context.HttpContext.Session.GetString("token") != null && tokenExpired == false)
{
return _context.HttpContext.Session.GetString("token");
}
var authClient = _httpClientFactory.CreateClient("Auth");
var dict = new Dictionary<string, string>
{
{ "grant_type", "client_credentials" },
{ "client_id", "my_client_id" },
{ "client_secret", "my_client_secret" }
};
var res = await authClient.PostAsync(authClient.BaseAddress, new FormUrlEncodedContent(dict));
if (res.StatusCode == HttpStatusCode.OK)
{
var authentication = JsonConvert.DeserializeObject<Authentication>(res.Content.ReadAsStringAsync().Result);
_context.HttpContext.Session.SetString("token", authentication.Access_Token);
return authentication.Access_Token;
}
else
{
throw new Exception();
}
}
Срок действия этого токена истекает через 60 минут, поэтому я должен позаботиться об этом, и я использую этот токен только для доступа одна конкретная c конечная точка, я не использую это для аутентификации или авторизации. Какие изменения я могу сделать, чтобы сохранить их в cook ie или, возможно, в localalstorage?