Example #1
0
        public void TestGetUserByEmailOrUserName()
        {
            User   user2                = null;
            string user1name            = "";
            User   user4                = null;
            string user3name            = "";
            bool   noExceptionWasThrown = true;

            try
            {
                UserProcessor up = new UserProcessor();
                up.InsertNewUser("name", "*****@*****.**", "password");

                User user1 = up.GetUserByEmail("*****@*****.**");
                user2     = up.GetUserByEmail("asd");
                user1name = user1.UserName;

                User user3 = up.GetUserByUsername("name");
                user4     = up.GetUserByUsername("asd");
                user3name = user3.UserName;
            }catch (Exception)
            {
                noExceptionWasThrown = false;
            }finally
            {
                //CleanUp
                UserAccess userAccess = new UserAccess();
                userAccess.DeleteByName("name");
            }
            Assert.AreEqual("name", user1name);
            Assert.IsNull(user2);
            Assert.AreEqual("name", user3name);
            Assert.IsNull(user4);
            Assert.IsTrue(noExceptionWasThrown);
        }
Example #2
0
        public ActionResult <User> Get()
        {
            IAuthService authService = new JWTService(clientSettings.Value.SecretKey);
            string       token       = HttpContext.Request.Headers["Authorization"];

            try
            {
                if (!authService.IsTokenValid(token))
                {
                    return(BadRequest("Unauthorized Access"));
                }
                else
                {
                    List <Claim> claims = authService.GetTokenClaims(token).ToList();
                    return(userProcessor.GetUserByEmail(claims.FirstOrDefault(t => t.Type.Equals(ClaimTypes.Email)).Value));
                }
            } catch
            {
                return(BadRequest("Unauthorized Access"));
            }
        }
Example #3
0
        public async Task <IActionResult> LoginUser(LoginUserViewModel login)
        {
            if (ModelState.IsValid)
            {
                UserDTO userData = Processor.GetUserByEmail(login.Email);
                if (userData != null)
                {
                    if (DataLayer.PasswordHashing.ValidateUser(login.Password, userData.Salt, userData.PasswordHash))
                    {
                        var userIdentity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
                        userIdentity.AddClaim(new Claim(ClaimTypes.Name, userData.DisplayName));
                        userIdentity.AddClaim(new Claim(ClaimTypes.Email, userData.Email));

                        var userPrincipal = new ClaimsPrincipal(userIdentity);

                        await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal);

                        return(RedirectToAction("ViewRollerCoasters", "RollerCoaster"));
                    }
                }
            }
            return(View());
        }
        public ActionResult Login(LoginModel loginModel)
        {
            if (ModelState.IsValid)
            {
                var    data            = UserProcessor.GetUserByEmail(loginModel.EmailAddress);
                string encodedPassword = Base64Encode(loginModel.Password);

                if (encodedPassword == data.Password)
                {
                    if (data.IsActive)
                    {
                        if (data.IsAdmin)
                        {
                            Session["isAdmin"]     = true;
                            Session["logged"]      = true;
                            Session["userId"]      = data.Id;
                            Session["emailAddess"] = data.EmailAddress;
                            Session["userName"]    = data.FirstName + " " + data.LastName;
                            return(RedirectToAction("AdminIndex", "Home", null));
                        }
                        else
                        {
                            Session["isAdmin"]     = false;
                            Session["logged"]      = true;
                            Session["userId"]      = data.Id;
                            Session["emailAddess"] = data.EmailAddress;
                            Session["userName"]    = data.FirstName + " " + data.LastName;
                            return(RedirectToAction("Index", "Store", null));
                        }
                    }
                }
                ViewBag.error = true;
                return(View());
            }
            ViewBag.error = true;
            return(View());
        }