2016-07-29 4 views
0

Я использую аутентификацию базового токена. Поэтому, когда пользователь вошел в систему в тот момент, когда флаг установлен в TRUE и сохраняется в базе данных. И когда он выходит из системы, флаг устанавливается в значение false.Проблема с токеном на предъявителя?

Но, поскольку я использую аутентификацию на основе токена, проблема возникает, когда пользователь удаляет файлы cookie из браузера. Итак, если он очистит файлы cookie, тогда на этот раз мой флаг не будет установлен в false.

Здесь я использую Angular.js, Node.js и MongoDB

+0

Значит, вы используете флаг, как прежде всего, чтобы проверить, зарегистрирован ли пользователь или нет? –

+0

Что будет содержать куки-файл, пожалуйста, объясните проблему четко, например, какая проблема возникает при очистке пользователя (который не устанавливает для свойства db значение false) –

+0

@Ramesh содержит все данные аутентификации, такие как информация, относящуюся к пользователю, и флаг, который я установите true и false при входе в систему и выходе из системы. –

ответ

0

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

Так что вам нужно запустить хроны или что-то, чтобы периодически очищать ненужные (просроченные) объекты из базы данных, то есть

Наряду с флагом, вы также должны иметь dateAdded свойства или (LastModified зависимости от того, работает для вас), тогда вам нужно запустить cron и удалить все объекты, созданные долго назад или на основе время истечения токена доступа.

Убедитесь, что идентификатор, хранящийся в cookie, является случайным, поэтому объект базы данных простаивает некоторое время, пока он не очистится, но не может быть использован кем-либо.

Смежные вопросы