Django 数据库中通常有许多过期的身份验证令牌吗?不应该';系统会自动删除它们吗?

Django 数据库中通常有许多过期的身份验证令牌吗?不应该';系统会自动删除它们吗?,django,database,django-rest-framework,oauth,oauth-2.0,Django,Database,Django Rest Framework,Oauth,Oauth 2.0,我开发了一个web应用程序,它使用一个库来进行身份验证和授权,使用的协议是OAuth 2.0。过了一段时间,我发现所有已经过期并且不再使用的访问令牌仍然存储在数据库中,用户应该撤销它们以将其删除。现在我在想,这样行吗?因为很多代币都太旧了,我应该在一段时间后移除它们吗?例如,删除30天前过期的所有代币!通过使用计划任务 注:在我的例子中,我使用Django+DRF+oauth2提供程序进行身份验证管理。我使用了knox auth库,没有遇到您的问题,在我的例子中,它在过期日期后会自动删除 但如果

我开发了一个web应用程序,它使用一个库来进行身份验证和授权,使用的协议是
OAuth 2.0
。过了一段时间,我发现所有已经过期并且不再使用的访问令牌仍然存储在数据库中,用户应该撤销它们以将其删除。现在我在想,这样行吗?因为很多代币都太旧了,我应该在一段时间后移除它们吗?例如,删除30天前过期的所有代币!通过使用计划任务


注:在我的例子中,我使用Django+DRF+oauth2提供程序进行身份验证管理。

我使用了knox auth库,没有遇到您的问题,在我的例子中,它在过期日期后会自动删除

但如果您的问题是关于Django中的调度,您可以使用其中一个库来帮助您,比如

但是,在Django中添加计划任务还有另一种简单的方法。 我使用线程来完成这项工作。 通过在main函数中创建一个线程来完成任务,如Django中manage.py中的以下代码

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

我使用了knox auth库,并没有遇到您的问题,在我的情况下,它会在过期后自动删除

但如果您的问题是关于Django中的调度,您可以使用其中一个库来帮助您,比如

但是,在Django中添加计划任务还有另一种简单的方法。 我使用线程来完成这项工作。 通过在main函数中创建一个线程来完成任务,如Django中manage.py中的以下代码

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