public async Task <bool> Authenticate(UserAuthentification user) { if (user == null || !IsConnected) { return(false); } var serializedItem = JsonConvert.SerializeObject(user); HttpResponseMessage response = await _client.PostAsync( ApiConstantes.AuthenticateUser, new StringContent(serializedItem, Encoding.UTF8, "application/json") ); if (response.IsSuccessStatusCode) { //Set the current User for the application string content = await response.Content.ReadAsStringAsync(); User userAuth = JsonConvert.DeserializeObject <User>(content); userAuth.Password = user.Password; DataManager.Instance.CurrentUser = userAuth; _client.DefaultRequestHeaders.Clear(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userAuth.AccessToken); } else { _client.DefaultRequestHeaders.Clear(); DataManager.Instance.CurrentUser = null; } return(response.IsSuccessStatusCode); }
protected override async void OnResume() { if (DataManager.Instance.CurrentUser != null) { UserAuthentification user = new UserAuthentification() { Email = DataManager.Instance.CurrentUser.Email, Password = DataManager.Instance.CurrentUser.Password }; if (!await ApiManager.Instance.Authenticate(user)) { MainPage = new NavigationPage(new LoginPage()); } } }