Пример #1
0
        public void Cookie_GetTest()
        {
            ICookie cookie         = setupICookie();
            var     expectedValue1 = cookieRequestHeaderList["cookiemanager_1"];
            var     expectedValue5 = cookieRequestHeaderList["cookiemanager_5"];

            Assert.AreEqual(expectedValue1, cookie.Get("cookiemanager_1"));
            Assert.AreEqual(expectedValue5, cookie.Get("cookiemanager_5"));
        }
        public void SetCookie(string name, string value)
        {
            string keystr = _cookie.Get(name);

            if (!string.IsNullOrWhiteSpace(name))
            {
                _cookie.Set(name, value, new CookieOptions()
                {
                    HttpOnly = true, Expires = DateTime.Now.AddDays(1)
                });
            }
        }
Пример #3
0
        public void Cookie_GetPlainChunksTest()
        {
            ICookie cookie       = setupICookie();
            string  actualString = cookie.Get("cm_key1");

            Assert.AreEqual(expectedTestString, actualString);
        }
Пример #4
0
        public IActionResult Index()
        {
            string sessionId = _cookie.Get("SpacePlanetsSession");
            var    viewModel = new ItemsIndexViewModel(_authenticationService, _objectService, sessionId);

            return(View(viewModel));
        }
Пример #5
0
        public void Cookie_GetEncryptedChunksTest()
        {
            //TODO getting null value of data protector
            ICookie cookie       = setupICookie();
            string  actualString = cookie.Get("encrypted_key1");

            Assert.AreEqual(expectedTestString, actualString);
        }
Пример #6
0
        public IActionResult Index()
        {
            var    viewModel = new AccountIndexViewModel();
            string sessionId = _cookie.Get("ReportSession");

            if (!string.IsNullOrEmpty(sessionId))
            {
                GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId);
                if (reportUserByCookie.Success == true)
                {
                    viewModel.CurrentUsername = reportUserByCookie.User.Username;
                    viewModel.AllThisMonth    = _activityReportService.CountActivity(reportUserByCookie.User.Id, DateTime.Now, false);
                    viewModel.IngameThisMonth = _activityReportService.CountActivity(reportUserByCookie.User.Id, DateTime.Now, true);
                }
                return(View(viewModel));
            }
            return(RedirectToAction("Login", "Account"));
        }
        private T GetExisting <T>(string key)
        {
            var value = _cookie.Get(key);

            if (string.IsNullOrEmpty(value))
            {
                return(default(T));
            }

            return(JsonConvert.DeserializeObject <T>(value));
        }
Пример #8
0
        public IActionResult SpaceObjects(int?X, int?Y, int?Z, string objectType, string objectName)
        {
            string sessionId = _cookie.Get("SpacePlanetsSession");

            if (X == null)
            {
                X = 0;
            }
            if (Y == null)
            {
                Y = 0;
            }
            if (Z == null)
            {
                Z = 0;
            }
            var viewModel = new SpaceObjectsViewModel(_authenticationService, _objectService, objectType, objectName, X.Value, Y.Value, Z.Value, sessionId);

            return(View(viewModel));
        }
Пример #9
0
        public IActionResult SigninWithDiscord([FromQuery] string code)
        {
            string sessionId = _cookie.Get("ReportSession");
            var    viewModel = new ReportWebApp.Models.ViewModels.Discord.Signin(this.discordService, code, this.authService, sessionId);

            _cookie.Set("ReportSession", viewModel.NewSessionCookie, new CookieOptions()
            {
                HttpOnly = true, Expires = DateTime.UtcNow.AddDays(13)
            });

            return(View(viewModel));
        }
Пример #10
0
        public IActionResult Index()
        {
            string sessionId = _cookie.Get("ReportSession");

            GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId);

            if (reportUserByCookie.Success == true && reportUserByCookie.User.OrganizationRoles.Contains("ToolAdmin"))
            {
                var viewModel = new ReportWebApp.Models.ViewModels.ToolAdminIndexViewModel(_authenticationService, sessionId);
                viewModel.IsToolAdmin = true;
                return(View(viewModel));
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
Пример #11
0
        public IActionResult Index()
        {
            var viewModel = new ReportWebApp.Models.ViewModels.Home.HomeIndex(this.discordService);

            string sessionId = _cookie.Get("ReportSession");
            GetReportUserByCookieResponse reportUserByCookie = authService.GetReportUserByWebCookie(sessionId);

            if (reportUserByCookie.Success == true)
            {
                viewModel.NeedToSignIn = false;
            }
            else
            {
                viewModel.NeedToSignIn = true;
            }

            return(View(viewModel));
        }
Пример #12
0
        private T GetExisting <T>(string key)
        {
            var value = _cookie.Get(key);

            if (string.IsNullOrEmpty(value))
            {
                return(default(T));
            }
            if (typeof(T).ToString() == typeof(string).ToString())
            {
                object v = value;
                return((T)v);
            }
            else
            {
                return(JsonConvert.DeserializeObject <T>(value));
            }
        }
        public IActionResult Index()
        {
            var    viewModel = new AccountIndexViewModel();
            string sessionId = cookie.Get("TelemetrySession");

            if (string.IsNullOrEmpty(sessionId))
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                GetUserByCookieResponse reportUserByCookie = _authenticationService.GetUserByWebCookie(sessionId);
                if (reportUserByCookie.Success == true)
                {
                    viewModel.Message = "Welcome, " + reportUserByCookie.User.Username;
                }
                else
                {
                    return(RedirectToAction("Login", "Account"));
                }
            }
            return(View(viewModel));
        }
Пример #14
0
        public IActionResult Index()
        {
            var    viewModel = new AccountIndexViewModel();
            string sessionId = _cookie.Get("SpacePlanetsSession");

            if (string.IsNullOrEmpty(sessionId))
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                GetPlayerByCookieResponse playerByCookie = _authenticationService.GetPlayerByWebCookie(sessionId);
                if (playerByCookie.Success == true)
                {
                    viewModel.Message = "Welcome, " + playerByCookie.Player.Username;
                    viewModel.GetCharactersByPlayerIdResponse = _gameService.GetCharactersByPlayerId(playerByCookie.Player.Id);
                }
                else
                {
                    return(RedirectToAction("Login", "Account"));
                }
            }
            return(View(viewModel));
        }
Пример #15
0
        public async Task <IActionResult> OnGetCallbackAsync(string returnUrl = "/", string remoteError = null)
        {
            string path        = HttpContext.Request.Path.ToString();
            string queryString = HttpContext.Request.QueryString.ToString();

            _logger.LogDebug("HttpGet recieved at {path}, Query parameters: {queryString}", path, queryString);

            returnUrl = returnUrl ?? Url.Content("/");
            if (remoteError != null)
            {
                ErrorMessage = $"Error from external provider: {remoteError}";
                _logger.LogDebug(ErrorMessage);
                return(LocalRedirect("/"));
            }
            var info = await _signInManager.GetExternalLoginInfoAsync();

            _logger.LogDebug("externalresponse:{info}", info);

            if (info == null)
            {
                _logger.LogDebug("bad", Input);
                ErrorMessage = "Error loading external login information.";
                return(LocalRedirect("/"));
            }
            var log = "";

            foreach (var claim in info.Principal.Claims)
            {
                log += ", " + claim.Type;
            }
            _logger.LogDebug(log);
            // Sign in the user with this external login provider if the user already has a login.
            var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent : false, bypassTwoFactor : true);

            if (result.Succeeded)
            {
                var cookieResult = _cookie.Get(AppCookies.LoginPreference);
                _logger.LogDebug("Cookie content: {cookieResult}", cookieResult);
                _cookieManager.Set(AppCookies.LoginPreference, info.LoginProvider, cookieOptions);

                _logger.LogInformation("{Name} logged in with {LoginProvider} provider.", info.Principal.Identity.Name, info.LoginProvider);

                await _signInManager.UpdateExternalAuthenticationTokensAsync(info);

                return(LocalRedirect(returnUrl));
            }
            if (result.IsLockedOut)
            {
                return(RedirectToPage("./Lockout"));
            }
            else
            {
                // If the user does not have an account, then ask the user to create an account.
                ReturnUrl     = returnUrl;
                LoginProvider = info.LoginProvider;
                if (info.Principal.HasClaim(c => c.Type == ClaimTypes.Upn || c.Type == ClaimTypes.Email))
                {
                    CreateNewUserFromExternalAsync(info).Wait();
                }

                return(LocalRedirect("/"));
            }
        }