Exemple #1
0
        public async Task <UserOutDTO> UsernameLogin(string username, string password)
        {
            //C# 8 does not require field = variable init
            UsernameLoginDTO requestObject = new UsernameLoginDTO
            {
                username = username,
                password = password
            };

            var stringPayload = JsonConvert.SerializeObject(requestObject);
            var httpContent   = new StringContent(stringPayload, System.Text.Encoding.UTF8, jsonMediaType);

            var response = await httpClient.PostAsync("api/auth/username-login", httpContent);

            string responseContent = await response.Content.ReadAsStringAsync();

            try
            {
                UserOutDTO objectResponse = JsonConvert.DeserializeObject <UserOutDTO>(responseContent);
                return(objectResponse);
            }
            catch (System.Exception)
            {
                return(null);
            }
        }
Exemple #2
0
        public async Task <IActionResult> UsernameLogin([FromBody] UsernameLoginDTO userIn)
        {
            InternalUser result = await authRepo.UsernameLogin(userIn.username, userIn.password);

            if (!result.success)
            {
                return(BadRequest(result));
            }
            string token = JWTHelper.GenerateToken(result.email, result.username, SECRET_KEY, EXPIRE_TIME);

            return(Ok(new UserOutDTO
            {
                Username = result.username,
                Email = result.email,
                JwtToken = token,
                success = true
            }));
        }
        public async Task <IActionResult> UsernameLogin([FromBody] UsernameLoginDTO userIn)
        {
            UserOut result = await authRepo.UsernameLogin(userIn.username, userIn.password);

            if (!result.success)
            {
                return(BadRequest(result));
            }
            string token = JWTHelper.GenerateToken(result.email, result.username, secretKey, EXPIRE_TIME);

            Response.Cookies.Append(JWT_COOKIE_NAME, token, new Microsoft.AspNetCore.Http.CookieOptions
            {
                HttpOnly = true,
                Expires  = System.DateTime.Now.AddMonths(1),
            });

            return(Ok(result));
        }