コード例 #1
0
        public override async void OnPageStarted(WebView view, string url, Bitmap favicon)
        {
            base.OnPageStarted(view, url, favicon);
            layoutProgress            = view.FindViewById <LinearLayout>(Resource.Id.layout_progress);
            layoutProgress.Visibility = ViewStates.Visible;
            layoutProgress.Enabled    = true;
            //view.DispatchFinishTemporaryDetach();
            if (url.Contains("&code="))
            {
                string code = Common.FunGetValuefromQueryString(url, "code");
                PreferenceHandler.SetAccessCode(code);
                PreferenceHandler.setLoggedIn(true);

                string tokenURL = string.Format(B2CConfig.TokenURL, B2CConfig.Tenant, B2CPolicy.SignInPolicyId, B2CConfig.ClientId, PreferenceHandler.GetAccessCode());
                var    response = await InvokeApi.Authenticate(tokenURL, string.Empty, HttpMethod.Post);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    string strContent = await response.Content.ReadAsStringAsync();

                    var tokenNew = JsonConvert.DeserializeObject <AccessToken>(strContent);
                    PreferenceHandler.SetToken(tokenNew.id_token);
                    PreferenceHandler.SetRefreshToken(tokenNew.refresh_token);
                    layoutProgress.Visibility = ViewStates.Visible;
                    await GetUserDetails(view);
                }
            }
        }
コード例 #2
0
        private void LogOutButton_TouchUpInside(object sender, EventArgs e)
        {
            // Added for showing loading screen
            var bounds = UIScreen.MainScreen.Bounds;

            // show the loading overlay on the UI thread using the correct orientation sizing
            loadingOverlay = new LoadingOverlay(bounds);
            View.Add(loadingOverlay);
            PreferenceHandler.setLoggedIn(false);
            PreferenceHandler.SetToken(string.Empty);
            PreferenceHandler.SetRefreshToken(string.Empty);
            PreferenceHandler.SaveUserDetails(new UserDetails()
            {
                Email     = string.Empty,
                FirstName = string.Empty,
                LastName  = string.Empty,
                RoleId    = 0,
                RoleType  = 0,
                UserId    = 0
            });
            Action ResetSession = () =>
            {
            };

            NSUrlSession.SharedSession.Reset(ResetSession);
            var ViewController = (ViewController)Storyboard.InstantiateViewController("ViewController");

            ViewController.NavigationItem.SetHidesBackButton(true, false);
            NavController.PushViewController(ViewController, true);
            SidebarController.MenuWidth = 0;
            SidebarController.CloseMenu();
            loadingOverlay.Hide();
            Logout(new LogoutModel(PreferenceHandler.GetUserDetails().Email));
        }
コード例 #3
0
 private void Logout(LogoutModel logoutModel)
 {
     layoutProgress.Visibility = ViewStates.Visible;
     Log.Debug(TAG, "Local Logout Started");
     PreferenceHandler.setLoggedIn(false);
     PreferenceHandler.SetToken(string.Empty);
     PreferenceHandler.SetRefreshToken(string.Empty);
     PreferenceHandler.SaveUserDetails(new UserDetails());
     CookieManager.Instance.RemoveAllCookie();
     StartActivity(new Intent(Application.Context, typeof(LoginActivity)));
     Finish();
     layoutProgress.Visibility = ViewStates.Gone;
 }
コード例 #4
0
 private void Logout(LogoutModel logoutModel)
 {
     Log.Debug(TAG, "Local Logout Successful");
     //PreferenceHandler preferenceHandler = new PreferenceHandler();
     PreferenceHandler.setLoggedIn(false);
     layoutProgress.Visibility = ViewStates.Gone;
     Finish();
     StartActivity(new Intent(Application.Context, typeof(LoginNewActivity)));
     //Log.Debug(TAG, "Logout() " + logoutModel.ToString());
     //var response = await InvokeApi.Invoke(Constants.API_SIGN_OUT, JsonConvert.SerializeObject(logoutModel), HttpMethod.Post);
     //if (response.StatusCode != 0)
     //{
     //    Log.Debug(TAG, "async Response : " + response.ToString());
     //    RunOnUiThread(() =>
     //    {
     //        LogoutResponse(response);
     //    });
     //}
 }
コード例 #5
0
        private void LogoutResponse(HttpResponseMessage restResponse)
        {
            /*if (restResponse != null && restResponse.StatusCode == System.Net.HttpStatusCode.OK && restResponse.Content != null)
             * {
             *  Log.Debug(TAG, restResponse.Content.ToString());
             *  GeneralResponseModel response = JsonConvert.DeserializeObject<GeneralResponseModel>(restResponse.Content);
             *
             *  if (response.Status_Code == Constants.STATUS_CODE_SUCCESS)
             *  {
             *      Log.Debug(TAG, "Logout Successful");
             *      PreferenceHandler preferenceHandler = new PreferenceHandler();
             *      preferenceHandler.setLoggedIn(false);
             *      layoutProgress.Visibility = ViewStates.Gone;
             *      Finish();
             *      StartActivity(new Intent(Application.Context, typeof(LoginActivity)));
             *  }
             *  else
             *  {
             *      Log.Debug(TAG, "Logout Failed");
             *      layoutProgress.Visibility = ViewStates.Gone;
             *      ShowToast("Failed to logout, Please try later.");
             *  }
             * }
             * else
             * {
             *  Log.Debug(TAG, "Logout Failed");
             *  layoutProgress.Visibility = ViewStates.Gone;
             *  ShowToast("Failed to logout, Please try later.");
             * }*/

            Log.Debug(TAG, "Local Logout Successful");
            //PreferenceHandler preferenceHandler = new PreferenceHandler();
            PreferenceHandler.setLoggedIn(false);
            layoutProgress.Visibility = ViewStates.Gone;
            Finish();
            StartActivity(new Intent(Application.Context, typeof(LoginNewActivity)));
        }