Beispiel #1
0
        private async Task _RefreshSettingsAsync(CancellationToken token = default)
        {
            async Task refresh(DomainProvider domain, CancellationToken t)
            {
                var cookie = CookieManager.GetCookies(domain.RootUri).SingleOrDefault(c => c.Name == CookieNames.SettingsKey);

                if (cookie != null)
                {
                    CookieManager.DeleteCookie(cookie);
                }
                try
                {
                    await domain.Settings.FetchAsync(t);

                    await domain.Settings.SendAsync(t);
                }
                catch
                {
                    if (cookie != null)
                    {
                        CookieManager.SetCookie(cookie);
                    }
                    throw;
                }
            }

            await Task.WhenAll(refresh(DomainProvider.Eh, token), refresh(DomainProvider.Ex, token));
        }
 /// <summary>
 /// クッキーを削除する内部メソッド
 /// </summary>
 /// <param name="cookies"></param>
 /// <param name="wv2"></param>
 /// <param name="domain"></param>
 /// <returns></returns>
 private void InternalDeleteCookies(List <CoreWebView2Cookie> cookies)
 {
     foreach (var cookie in cookies)
     {
         this.wv2 !.CookieManager.DeleteCookie(cookie);
     }
 }
Beispiel #3
0
 public bool Signout()
 {
     CookieManager.DeleteCookie("access_token");
     CookieManager.DeleteCookie("refresh_token");
     CookieManager.DeleteCookie("token_type");
     return(true);
 }
        public override async Task EndSessionAsync(string user)
        {
            await base.EndSessionAsync(user);

            CookieManager.DeleteCookie(_contextAccessor);
            await Task.CompletedTask;
        }
Beispiel #5
0
 public void ClearLogOnInfo()
 {
     foreach (var item in CookieManager.GetCookies(DomainProvider.Eh.RootUri)
              .Concat(CookieManager.GetCookies(DomainProvider.Ex.RootUri)))
     {
         CookieManager.DeleteCookie(item);
     }
     setDefaultCookies();
 }
Beispiel #6
0
 private void _SetDefaultCookies()
 {
     // Avoid warn page for r18g galleries
     _SetCookieAll(CookieNames.NeverWarn, "1");
     // Set event cookie to a early timestamp to make sure new events can be triggered
     _SetCookieEh(CookieNames.LastEventRefreshTime, "1");
     // Remove yay cookie for ex
     CookieManager.DeleteCookie(new HttpCookie(CookieNames.Yay, Domains.Ex, "/"));
 }
Beispiel #7
0
        internal async Task ResetExCookieAsync()
        {
            foreach (var item in CookieManager.GetCookies(DomainProvider.Ex.RootUri))
            {
                CookieManager.DeleteCookie(item);
            }

            await HttpClient.GetAsync(DomainProvider.Ex.RootUri, HttpCompletionOption.ResponseHeadersRead, true);

            _CopyCookie(CookieNames.SettingsKey);
            _CopyCookie(CookieNames.HathPerks);
            _SetDefaultCookies();
        }
Beispiel #8
0
        private async Task refreshHathPerks()
        {
            var cookie = CookieManager.GetCookies(DomainProvider.Eh.RootUri).SingleOrDefault(c => c.Name == CookieNames.HathPerks);

            if (cookie != null)
            {
                CookieManager.DeleteCookie(cookie);
            }

            await HttpClient.GetAsync(hathperksUri, HttpCompletionOption.ResponseHeadersRead, true);

            CheckLogOn();
            ResetExCookie();
        }
Beispiel #9
0
        private async Task refreshCookieAndSettings()
        {
            foreach (var item in CookieManager.GetCookies(DomainProvider.Eh.RootUri).Where(c => !isKeyCookie(c)))
            {
                CookieManager.DeleteCookie(item);
            }
            ResetExCookie();
            var   f1 = DomainProvider.Eh.Settings.FetchAsync();
            var   f2 = DomainProvider.Ex.Settings.FetchAsync();
            await f1;
            await f2;

            var   a1 = DomainProvider.Eh.Settings.SendAsync();
            var   a2 = DomainProvider.Ex.Settings.SendAsync();
            await a1;
            await a2;
        }
Beispiel #10
0
        internal void ResetExCookie()
        {
            foreach (var item in CookieManager.GetCookies(DomainProvider.Ex.RootUri))
            {
                CookieManager.DeleteCookie(item);
            }

            foreach (var item in CookieManager.GetCookies(DomainProvider.Eh.RootUri).Where(isImportantCookie))
            {
                var cookie = new HttpCookie(item.Name, Domains.Ex, "/")
                {
                    Expires = item.Expires,
                    Value   = item.Value
                };
                CookieManager.SetCookie(cookie);
            }
            setDefaultCookies();
        }
            /// <summary>
            /// Clears the cart cookies.
            /// </summary>
            /// <param name="httpContextBase">The HTTP context base.</param>
            public static void ClearCartCookies(HttpContextBase httpContextBase)
            {
                if (httpContextBase == null)
                {
                    throw new ArgumentNullException(nameof(httpContextBase));
                }

                string cookieName = GetCartTokenCookieName(SessionType.SignedInShopping);

                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);

                cookieName = GetCartTokenCookieName(SessionType.SignedInCheckout);
                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);

                cookieName = GetCartTokenCookieName(SessionType.AnonymousShopping);
                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);

                cookieName = GetCartTokenCookieName(SessionType.AnonymousCheckout);
                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);
            }
            /// <summary>
            /// Performs clean up operations after any authentication/authorization failure.
            /// </summary>
            /// <param name="httpContextBase">The HTTP context.</param>
            public static void CleanUpOnSignOutOrAuthFailure(HttpContextBase httpContextBase)
            {
                if (httpContextBase == null)
                {
                    throw new ArgumentNullException(nameof(httpContextBase));
                }

                var ctx = httpContextBase.Request.GetOwinContext();

                ctx.Authentication.SignOut(CookieConstants.ApplicationCookieAuthenticationType);

                OpenIdConnectUtilities.RemoveCookie(CookieConstants.ExternalTokenPart2);

                string cookieName = GetCartTokenCookieName(SessionType.SignedInShopping);

                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);

                cookieName = GetCartTokenCookieName(SessionType.SignedInCheckout);
                CookieManager.DeleteCookie(httpContextBase.ApplicationInstance.Context, cookieName);
            }
Beispiel #13
0
 public void DeleteToken()
 {
     _cookieManager.DeleteCookie("access_token");
     _cookieManager.DeleteCookie("refresh_token");
     _cookieManager.DeleteCookie("token_type");
 }