Is the problem that you are not getting logged in, or that you are logged in and the first_name session var is not set?
I can see a couple of potential problems in your authenticate user server behavior. The first issue that I see is that you are referencing the column values like this:
"columnValues" => explode($WA_Auth_Separator,"".$row_users[''] ."".$WA_Auth_Separator."".((isset($_POST["password"]))?$_POST["password"]:"") .""),
You will need to reference the username or email field from your login form instead of the empty recodset value that is currently being used.
The other thing that I noticed is that the first name column in your table is set as 1st_name, in my experience it is not a good idea to have a number starting off a column name. I'm not sure if this has any relation to the problem you are experiencing but it is something that I noticed.