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); } }
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)); }