Модель аутентификации приложения javascript с использованием ajax

Это не конкретный вопрос о некоторых деталях javascript, но я ищу подтверждение того, что в созданной мною модели нет явных пробелов. Я решил свернуть свою собственную процедуру аутентификации (за исключением использования bcrypt для хэширования в серверной части), которая будет работать так:

User (browser or phonegap created native app) signs up > Json object posted using jQuery ajax to backend that uses bcrypt to handle the password and save the password user profile data Backend generates, saves with client IP address a token which it returns (random hash, like /dev/urandom) jQuery plugin stores the token to a local cookie When some request is made (post, comment, whatever but not too often) it gets the token from the cookie and adds that to the json and posts it again with ajax Backend checks that the token exists and has not expired (valid for 7 days), checks that the ip-address is the same and if ok validates the request json data and processes the request When a token has expired a login screen is shown and credentials posted as ajax and a new token created as in step 2.

Все проходит через ssl для запросов ajax и нигде не хранятся пароли. Существует также механизм проверки на спам в сплошном токене, временно блокирующий исходный ip, если порог превышен. Это не приложение с высокой степенью защиты, но оно хочет уважать данные пользователей и быть уверенным, что оно достаточно "безопасное".

Я надеюсь, что этот вопрос будет уместным, даже если он не является конкретным и будет служить справочным материалом для кого-то другого, если он вызовет некоторое обсуждение. Я не смог найти какие-либо учебные пособия по этому конкретному подходу.

ОБНОВЛЕНИЕ: Механизм аутентификации обновлен в соответствии с полученной обратной связью, так как он кажется «достаточно безопасным». для некритического веб-приложения.

Ответы на вопрос(1)

Ваш ответ на вопрос