Refre sh токены в MongoDB - PullRequest
       8

Refre sh токены в MongoDB

0 голосов
/ 21 января 2020

Как лучше всего автоматически удалить токен refre sh из MongoDB.

При входе в систему пользователю предоставляется временный токен авторизации, который длится 30 секунд. Им также предоставляется постоянный токен, хранящийся в MongoDB, который в настоящее время действует до выхода из системы.

Я хочу удалить постоянный токен в конце каждого дня, но я не уверен, как это сделать без выполнения задания cron (чтобы следить за временем). Это кажется немного сложным для такой маленькой задачи. Есть ли способ, которым mon go узнает, сколько времени, и затем удалит токен refre sh?

Так выглядит коллекция токенов:

enter image description here

Спасибо

1 Ответ

1 голос
/ 21 января 2020

Чтобы через некоторое время автоматически удалять документы MongoDB, вам следует использовать заданную функцию сбора TTL (время жизни) здесь .

По сути, вам нужно создать индекс для коллекция, в которой хранятся токены. Для вашего случая использования вы можете сделать что-то вроде этого:

// This would delete the tokens document after 3600seconds after creation
// You can tweak the time as you wish. 
db.tokens.createIndex({ "createdAt": 1 }, { expireAfterSeconds: 3600 });
...