Пример #1
0
        public async Task <IActionResult> Login(LoginRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(ModelState));
            }

            var domainRequest = mapper.Map <Domains.LoginRequest>(request);
            var token         = await userHandler.Authenticate(domainRequest);

            var claimsPrincipal = userHandler.ValidateToken(token);

            var authProperties = new AuthenticationProperties
            {
                ExpiresUtc   = DateTimeOffset.UtcNow.AddMinutes(10),
                IsPersistent = false
            };

            //HttpContext.Session.SetString("Token", token);
            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                claimsPrincipal,
                authProperties);

            return(RedirectToAction("Index", "Home"));
        }
Пример #2
0
        public async Task <IActionResult> Login(LoginRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var authenticateResponse = await userHandler.Authenticate(request);

            if (!authenticateResponse.IsSucceed)
            {
                ModelState.AddModelError(nameof(request.Passcode), authenticateResponse.ErrorMessage);
                return(View());
            }

            var claimsPrincipal = userHandler.ValidateToken(authenticateResponse.Tokens);
            var authProperties  = new AuthenticationProperties
            {
                ExpiresUtc   = DateTimeOffset.UtcNow.AddMinutes(10),
                IsPersistent = false
            };

            HttpContext.Session.SetServiceType(request.Service);

            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                claimsPrincipal,
                authProperties);

            return(RedirectToAction("Index", "Rating", new { ServiceType = request.Service }));
        }