public async Task TryLoginWithCachedCredentialsAsync() { var result = new LoginResult(); ILoginManager mgr = Xamarin.Forms.DependencyService.Get <ILoginManager>(); if (mgr != null) { //try to get cached user credentials and test them try { var user = mgr.GetCachedUser(azClient); if (user != null) { // test accessing the service with the cached credentials azClient.CurrentUser = user; bool isCredentialValid = await TestLoginCredentialIsValidAsync(); if (isCredentialValid) { result.Succeeded = true; } else { result.Succeeded = false; result.ErrorMessage = "Cached credentials expired, please login again."; } } } catch { result.Succeeded = false; result.ErrorMessage = "Failed to use cached credentials, please login."; } } MessagingCenter.Send <AuctionService, LoginResult>(this, Constants.MSG_LOGIN_COMPLETE, result); }