Вы пытаетесь клиента web api писать и сохранять access token?
static async Task GetToken()
{
var client = new HttpClient();
var pairs = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("grant_type", "password"), //AUTH TYPE, not a valid user pass
new KeyValuePair<string, string>("username", "username"), // username
new KeyValuePair<string, string>("password", "userpass") //current valid user password
};
var content = new FormUrlEncodedContent(pairs);
var response = client.PostAsync("http://localhost:12437/Token", content).Result;
if (response.IsSuccessStatusCode)
{
StreamReader reader = new StreamReader(response.Content.ReadAsStreamAsync().Result);
string json = reader.ReadLine();
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
var tokensavefile = File.CreateText(@"/path/to/save/token");
string at = "";
values.TryGetValue("access_token", out at);
tokensavefile.WriteLine(at);
r.Close();
//File.Encrypt(@"/path/to/save/token");
}
}
Ну и как эту фигню использовать:
static async Task GetVal()
{
var client = new HttpClient();
List<string> bearer = File.ReadLines(@"/path/to/file/with/token").ToList();
client.DefaultRequestHeaders.Add("Authorization", "bearer " + bearer.First());
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.GetAsync("http://localhost:12437/authorized/api/").Result; //b4a77b8d-bf41-e311-95b4-00248cc66523
if (response.IsSuccessStatusCode)
{
// Ну и понесся парсинг json'а.
// я вот сейчас воюю как раз - не стандартный обьект Json десериализовать
}
else
{
// код возврата (не 200 ок), всё такое, развлекаемся с определением "почему не работает"
}