如何使用C#从Header获取Acces-token

时间:2017-10-05 19:08:34

标签: c# asp.net rest oauth httpclient

我有问题。我想从我的API中的Header获取访问令牌。我使用下面的代码访问我的服务。我正在使用C#和HttpClient。

static async Task Login()
    {
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("https://api.xxxxxx.com/auth/");
            var content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("email", "xxx@localhost.com"),
                new KeyValuePair<string, string>("password", "hello123")
            });

            var result = await client.PostAsync("sign_in", content);
            string resultContent = await result.Content.ReadAsStringAsync();
            Console.WriteLine(resultContent);
        }
    }

但是,我无法从标题中获取访问令牌,这里有人可以帮我解决这个问题吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

您需要访问HttpContent.Headers集合。

 var result = await client.PostAsync("sign_in", content);
 var token = result.Headers.GetValues("access-token").FirstOrDefault();