1. Данные на клиенте: md5(USER1:PASSWORD:SKEY:RANDOM),
2. Пересылаю на сервер: ab1e37ab50c61d8c80fb5cb4b1e3122f:RANDOM
3. Ищу на сервере совпадение:
ab1e37ab50c61d8c80fb5cb4b1e3122f===md5(USER:PASSWORD:SKEY:RANDOM) и получаю учётку пользователя, если все верно.
Советую почитать еще раз про объекты в js и функции angular.merge и angular.extend
В крайнем случае - закроете порт через iptables. :)
Поля с именем tablename не существует.