Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        public IActionResult Login([FromBody] FrontAuthModel frontAuth)
        {
            var token = _service.GetToken(frontAuth.Username, frontAuth.Password);

            if (token != null)
            {
                return(Ok(token));
            }
            else
            {
                return(Unauthorized());
            }
        }
Example #4
0
        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());
        }