From d3eecace1bbfc235897cade5590a291aaed9ff8d Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 28 Jan 2022 11:38:25 +0100
Subject: [PATCH] [OAuth] Add task to clear expired tokens

---
 CHANGELOG.rst         | 5 +++++
 aleksis/core/tasks.py | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 3b4a70be3..34feb6f21 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,6 +9,11 @@ and this project adheres to `Semantic Versioning`_.
 Unreleased
 ----------
 
+Added
+~~~~~
+
+* [OAuth] Expired tokens are now cleared in a periodic task
+
 Fixed
 ~~~~~
 
diff --git a/aleksis/core/tasks.py b/aleksis/core/tasks.py
index 13eb76444..97ccfa227 100644
--- a/aleksis/core/tasks.py
+++ b/aleksis/core/tasks.py
@@ -40,3 +40,11 @@ def backup_data() -> None:
     # Hand off to dbbackup's management commands
     management.call_command("dbbackup", *db_options)
     management.call_command("mediabackup", *media_options)
+
+
+@app.task(run_every=timedelta(days=1))
+def clear_oauth_tokens():
+    """Clear expired OAuth2 tokens."""
+    from oauth2_provider.models import clear_tokens  # noqa
+
+    return clear_tokens()
-- 
GitLab