У меня есть API 1
и API 2
API 2
требуется токен, при этом я получу токен от Identity
и отправлю его на API 2
Нопроблема сейчас, я понятия не имею, где хранить токен в API 1
.Таким образом, временное решение заключается в том, что я сохраняю запрос на токен каждый раз, когда отправляю запрос на API 2
.
Токен получил истекшее время, если он уже истек, генерируем новый токен
Это можно сделать?
Мой фрагмент кода
var pairs = new List < KeyValuePair < string,
string >> {
new KeyValuePair < string,
string > ("client_id", "spa"),
new KeyValuePair < string,
string > ("client_secret", "secretkey"),
new KeyValuePair < string,
string > ("grant_type", "password"),
new KeyValuePair < string,
string > ("username", "test@test"),
new KeyValuePair < string,
string > ("Password", "test1234")
};
var content = new FormUrlEncodedContent(pairs);
using(var client = new HttpClient()) {
var response = client.PostAsync("https://myidentity.com/" + "connect/token", content).Result;
var result = response.Content.ReadAsStringAsync().Result;
var t = JsonConvert.DeserializeObject < Token > (result);
//Sent request to API 2
}
Мой класс токенов
public class Token
{
public string access_token { get; set; }
public string token_type { get; set; }
public int expires_in { get; set; }
public string userName { get; set; }
[JsonProperty(".issued")]
public string issued { get; set; }
[JsonProperty(".expires")]
public string expires { get; set; }
}