public async Task <IActionResult> RegisterAsync([Bind("Username,Password")] FrontAuthModel frontAuth) { if (ModelState.IsValid) { using (var httpClient = new HttpClient()) { if (Request.Cookies.ContainsKey("EsLSAuth")) { httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Request.Cookies["EsLSAuth"]); } StringContent content = new StringContent(JsonConvert.SerializeObject(frontAuth), Encoding.UTF8, "application/json"); using var response = await httpClient.PostAsync(_config.Value.ApiEndpoint + "auth/register", content); if (response.StatusCode == HttpStatusCode.Unauthorized) { return(RedirectToAction("Required")); } string apiResponse = await response.Content.ReadAsStringAsync(); } return(RedirectToAction("Successful")); } return(View(frontAuth)); }
public async Task <IActionResult> LoginAsync([Bind("Username,Password")] FrontAuthModel frontAuth) { if (Request.Cookies.ContainsKey("EsLSAuth")) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { using var httpClient = new HttpClient(); StringContent content = new StringContent(JsonConvert.SerializeObject(frontAuth), Encoding.UTF8, "application/json"); using var response = await httpClient.PostAsync(_config.Value.ApiEndpoint + "auth/login", content); if (response.StatusCode == HttpStatusCode.OK) { string apiResponse = await response.Content.ReadAsStringAsync(); Response.Cookies.Append("EsLSAuth", apiResponse, new Microsoft.AspNetCore.Http.CookieOptions() { Expires = DateTime.UtcNow.AddDays(1) }); return(RedirectToAction("Index", "Licenses")); } } return(View(frontAuth)); }
public IActionResult Login([FromBody] FrontAuthModel frontAuth) { var token = _service.GetToken(frontAuth.Username, frontAuth.Password); if (token != null) { return(Ok(token)); } else { return(Unauthorized()); } }
public IActionResult Register([FromBody] FrontAuthModel frontAuth) { if (!User.IsInRole(Role.Admin) && !_service.IsDbEmpty()) { return(Unauthorized()); } var creationResult = _service.CreateNew(frontAuth.Username, frontAuth.Password); switch (creationResult) { case UserCreationResult.BadUsername: return(BadRequest("Username doesn't meet requirements")); case UserCreationResult.WeakPassword: return(BadRequest("Password doesn't meet requirements")); case UserCreationResult.AlreadyExists: return(Conflict("User already exists")); } return(Ok()); }