Exemplo n.º 1
0
        public async Task <IActionResult> Authenticate(AuthenticateModel data)
        {
            if (string.IsNullOrEmpty(data.Username))
            {
                return(JsonFailResult(Phrases.FieldShouldNotBeEmpty, "#username"));
            }

            if (string.IsNullOrEmpty(data.Password))
            {
                return(JsonFailResult(Phrases.FieldShouldNotBeEmpty, "#password"));
            }

            var user = await UsersRepository.AuthenticateAsync(data.Username, data.Password);

            if (user == null)
            {
                return(JsonFailResult(Phrases.InvalidUsernameOrPassword, "#password"));
            }

            var sessionId = GetSession();

            await _browserSessionsRepository.SaveSessionAsync(sessionId, user.Id);

            await SignIn(user);

            var divResult = Request.IsMobileBrowser() ? "#pamain" : "body";

            return(JsonRequestResult(divResult, Url.Action("Layout")));
        }