Exemple #1
0
        public async Task <UserLoginResponse> Login(UserLoginModel model)
        {
            if (model.Username == null || model.Password == null)
            {
                return(new UserLoginResponse());
            }
            model.Username = model.Username.ToLower();

            var userModel = await db.FindByUsername(model.Username.ToLower());

            //Invalid username
            if (userModel == null)
            {
                return(new UserLoginResponse());
            }

            //Hash the login password with user salt
            string hashedPassword = hasher.HashWithSalt(model.Password, userModel.Salt).Hash;

            //Verify if hashed password and login hashed password match
            if (hashedPassword != userModel.Password)
            {
                return(new UserLoginResponse());
            }

            //Grab dropship account if any
            var account = await dropship.GetAccount(userModel.Username);

            var response = new UserLoginResponse()
            {
                Token = CreateJWT(model, account)
            };

            return(response);
        }
        public async Task <IActionResult> GetAccount()
        {
            var username = "******";

            if (HttpContext.User.Identity.IsAuthenticated)
            {
                username = HttpContext.User.Identity.Name;
            }

            var account = await dropship.GetAccount(username);

            return(Json(account));
        }