我想从使用身份验证令牌的xamarin登录到我的ASP.net应用程序。 这里是我的LoginViewModel.cs使用身份验证令牌从Xamarin登录到ASP.Net应用程序
public class LoginViewModel : ContentPage
{
private ApiServices _apiServices = new ApiServices();
public string Username { get; set; }
public string Password { get; set; }
public ICommand LoginCommand
{
get
{
return new Command(async() =>
{
var isLogin = await _apiServices.LoginAsync(Username, Password);
if (isLogin)
{
await Navigation.PushModalAsync(new Dashboard());
}
});
}
}
}
isLogin将返回true,但应用程序不导航到仪表板页面的VAR
这里是我的LoginAsync功能
public async Task<bool> LoginAsync(string userName, string password)
{
var keyValues = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("username",userName),
new KeyValuePair<string, string>("password",password),
new KeyValuePair<string, string>("grant_type","password"),
};
var request = new HttpRequestMessage(HttpMethod.Post, "http://epolleasy.azurewebsites.net/Token");
request.Content = new FormUrlEncodedContent(keyValues);
var client = new HttpClient();
var response = await client.SendAsync(request);
var jwt = await response.Content.ReadAsStringAsync();
JObject jwtDynamic = JsonConvert.DeserializeObject<dynamic>(jwt);
var accessToken = jwtDynamic.Value<string>("access_token"); //variable for acsess_token
//Debug.WriteLine(jwt);
if (!string.IsNullOrEmpty(accessToken))
{
return response.IsSuccessStatusCode;
}
else
{
return response.IsSuccessStatusCode;
}
}
你真的获取并存储令牌吗? –
检查我已更新LoginAsync函数,我正在获取并存储令牌。条件是如果它获得令牌,则将其存储在变量中。如果成功返回true。我越来越真实,但它没有导航到仪表板页面。 –