【发布时间】:2017-08-21 19:44:37
【问题描述】:
如何使用 System.Net.Http 将 access_token 和 id_token 发送到您的 api?当我用邮递员测试我的 api 时,它似乎发送了两个令牌并返回了我需要的个人用户信息(用户正在销售的产品列表)。我不确定如何在我的 Xamarin 应用程序中做到这一点,并且已经被困了很长一段时间。我可以发送 access_token ,如下所示,但是我在发送两个令牌时尝试过的任何操作都返回了 404 not found。 (未授权已更正为 401,因此 access_token 仍在工作)
public async Task<string> GetResponseJsonString(string url)
{
string responseJsonString = null;
var access_token = CrossSecureStorage.Current.GetValue("access_token");
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Clear();
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + access_token);
HttpResponseMessage response = httpClient.GetAsync(url).Result;
responseJsonString = await response.Content.ReadAsStringAsync();
}
return responseJsonString;
}
注意:我知道 id_token 应该包含用户信息并且应该被解码而不是发送用户信息请求。我查看了这个并且无法找到在 xamarin PCL 中工作的库。我查看了 JosePCL.Jwt 但无法让它工作。我认为,因为任何时候我需要用户信息,它都会从我的数据库返回信息,因此将两个令牌与请求一起发送并让我的 api 获取用户信息是有意义的。
【问题讨论】:
标签: c# xamarin xamarin.android jwt