C# 授权令牌在Postman中可以正常工作,但在我的设备上不能
我正在尝试使用RESTAPI,通过使用Xamarin的MVVM实现它。我在类的控制器中编写了[Authorize],当我在Postman中获得令牌时,我可以使用该服务,但当我从登录页面在Android设备上执行该操作时,它会显示以下“消息”: 我的Web Api托管在AZURE中的SQL数据库中。 我正在使用以下方法验证令牌:C# 授权令牌在Postman中可以正常工作,但在我的设备上不能,c#,asp.net-mvc,xamarin,asp.net-web-api,C#,Asp.net Mvc,Xamarin,Asp.net Web Api,我正在尝试使用RESTAPI,通过使用Xamarin的MVVM实现它。我在类的控制器中编写了[Authorize],当我在Postman中获得令牌时,我可以使用该服务,但当我从登录页面在Android设备上执行该操作时,它会显示以下“消息”: 我的Web Api托管在AZURE中的SQL数据库中。 我正在使用以下方法验证令牌: public async Task<TokenResponse> GetToken(string urlBase, string username, stri
public async Task<TokenResponse> GetToken(string urlBase, string username, string password)
{
try
{
var client = new HttpClient();
client.BaseAddress = new Uri(urlBase);
var response = await client.PostAsync("Token",
new StringContent(string.Format(
"grant_type=password&username={0}&password={1}",
username, password),
Encoding.UTF8, "application/x-www-form-urlencoded"));
var resultJSON = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<TokenResponse>(
resultJSON);
return result;
}
catch
{
return null;
}
公共异步任务GetToken(字符串urlBase、字符串用户名、字符串密码)
{
尝试
{
var client=新的HttpClient();
client.BaseAddress=新Uri(urlBase);
var response=wait client.PostAsync(“令牌”,
新建StringContent(string.Format(
“grant_type=password&username={0}&password={1}”,
用户名、密码),
Encoding.UTF8,“application/x-www-form-urlencoded”);
var resultJSON=await response.Content.ReadAsStringAsync();
var result=JsonConvert.DeserializeObject(
结果(JSON);
返回结果;
}
抓住
{
返回null;
}
有人知道发生了什么吗?你的问题太难理解了。请将代码部分格式化为好的格式,以便大家可以阅读。请为你的
HttpClient
添加DefaultRequestHeaders
:client.DefaultRequestHeaders.add(“Token”),新的StringContent(string.format(“grant\u type=password&username={0}&password{1} “,用户名,密码”);
然后尝试将数据发布到API删除授权属性或注册用户,然后登录到用户令牌,请参阅
public async Task<TokenResponse> GetToken(string urlBase, string username, string password)
{
try
{
var client = new HttpClient();
client.BaseAddress = new Uri(urlBase);
var response = await client.PostAsync("Token",
new StringContent(string.Format(
"grant_type=password&username={0}&password={1}",
username, password),
Encoding.UTF8, "application/x-www-form-urlencoded"));
var resultJSON = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<TokenResponse>(
resultJSON);
return result;
}
catch
{
return null;
}