예제 #1
0
        public async Task <IActionResult> LoginUser([FromBody] User user)
        {
            if (await IsUserLogged())
            {
                return(BadRequest("You are already logged in"));
            }
            var loginUser = await tokenRepository.LogIn(user);

            if (loginUser == null)
            {
                return(BadRequest("Invalid username or password, please try again"));
            }

            string token = TokenActions.GenerateToken(loginUser, configuration);

            Console.WriteLine(token);

            loginUser.Token = token;
            await tokenRepository.SaveToken(loginUser.IdUser, token);

            // SET COOKIES USER ID AND USER TOKEN
            Cookie cookieToken = CookieActions.SetCookie("session-id", token, 1);

            Response.Cookies.Append(cookieToken.Key, cookieToken.Value, cookieToken.Option);

            Cookie cookieUserId = CookieActions.SetCookie("user-id", loginUser.IdUser.ToString(), 1);

            Response.Cookies.Append(cookieUserId.Key, cookieUserId.Value, cookieUserId.Option);

            var userLogin = mapper.Map <UserDto>(loginUser);

            return(Ok(userLogin));
        }
예제 #2
0
        public IEnumerable <WeatherForecast> Get()
        {
            Response.Headers.Add("testsf", "valeurtest123");

            CookieActions cookie = new CookieActions {
                response = Response,
                request  = Request
            };

            cookie.SetCookie("testcookie", "testvaluecookie", 60);

            var rng = new Random();

            return(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)],
                Town = Towns[rng.Next(Towns.Length)]
            })
                   .ToArray());
        }