async Task <bool> LoginAsync(MobileServiceAuthenticationProvider provider)
        {
            if (!Plugin.Connectivity.CrossConnectivity.Current.IsConnected)
            {
                Acr.UserDialogs.UserDialogs.Instance.Alert("Ensure you have internet connection to login.",
                                                           "No Connection", "OK");

                return(false);
            }

            MobileServiceUser user = null;

            try
            {
                authentication.ClearCookies();
                user = await authentication.LoginAsync(client, provider);

                if (user != null)
                {
                    IsBusy      = true;
                    UserProfile = await UserProfileHelper.GetUserProfileAsync(client);
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.Report(ex);
            }
            finally
            {
                IsBusy = false;
            }

            if (user == null || UserProfile == null)
            {
                Settings.LoginAccount  = LoginAccount.None;
                Settings.UserFirstName = string.Empty;
                Settings.AuthToken     = string.Empty;
                Settings.UserLastName  = string.Empty;

                Logger.Instance.Track("LoginError");
                Acr.UserDialogs.UserDialogs.Instance.Alert("Unable to login or create account.", "Login error", "OK");
                return(false);
            }
            else
            {
                Init();

                Logger.Instance.Track("LoginSuccess");
            }

            return(true);
        }
Beispiel #2
0
        public void LogOut(bool clearCookies)
        {
            // Utility.SetSecured("AuthToken", string.Empty, "xamarin.sport", "authentication");
            AzureService.Instance.Client.Logout();

            RoomieApp.AuthToken          = null;
            AuthUserProfile              = null;
            Settings.Instance.RoomieID   = null;
            Settings.Instance.AuthUserID = null;

            if (clearCookies)
            {
                Settings.Instance.RegistrationComplete = false;
                _authenticator.ClearCookies();
            }

            Settings.Instance.Save();
        }