Beispiel #1
0
        public async Task <IActionResult> Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _authLogic.GetUserByEmail(model.Login);

                if (user != null)
                {
                    var isValid = await _authLogic.ValidateUser(user.Id, model.Password);

                    if (isValid)
                    {
                        AuthenticationProperties props = new AuthenticationProperties()
                        {
                            IsPersistent = true,
                            ExpiresUtc   = DateTimeOffset.UtcNow.Add(TimeSpan.FromSeconds(3600))
                        };

                        await HttpContext.SignInAsync(model.Login, model.Login, props);

                        return(Redirect(model.ReturnUrl));
                    }
                }
            }

            return(View(model));
        }