Обычно в базе данных много просроченных токенов аутентификации? Разве система не должна удалять их автоматически? - PullRequest
1 голос
/ 20 июня 2020

Я разработал веб-приложение, которое использует библиотеку для аутентификации и авторизации, а протокол использования - OAuth 2.0. Через некоторое время я обнаружил, что все токены доступа, срок действия которых истек, и они больше не используются, все еще хранятся в базе данных, и пользователь должен отозвать их для удаления. Теперь мне интересно, все ли в порядке? Поскольку многие токены слишком старые, не следует ли мне удалить их через некоторое время? Например, удаление всех токенов, срок действия которых истек 30 дней a go! с помощью запланированной задачи.

PS: В моем случае я использую Django + DRF + oauth2 provider для управления аутентификацией.

1 Ответ

0 голосов
/ 18 августа 2020

Я использовал библиотеку knox auth и не столкнулся с вашей проблемой, в моем случае она автоматически удаляется по истечении срока действия.

Но если ваш вопрос касается планирования в Django, вы можете использовать одну из библиотек, может вам помочь, например сельдерей

, но есть еще один простой способ добавить запланированную задачу в Django. Я использую потоки для работы. путем создания потока в основной функции для выполнения вашей задачи, например, нижеприведенного кода в manage.py в Django.

def periodic_check():
    while True:
        # some code ...
        time.sleep(500)
    
if __name__ == '__main__':
    x = threading.Thread(target=periodic_check, daemon=True)
    x.start()
    main()
...