summaryrefslogtreecommitdiffstats
path: root/api/decorators.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/decorators.py')
-rw-r--r--api/decorators.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/api/decorators.py b/api/decorators.py
new file mode 100644
index 0000000..b60cc05
--- /dev/null
+++ b/api/decorators.py
@@ -0,0 +1,19 @@
+from functools import wraps
+
+from django.http import JsonResponse
+
+
+def identity_required(function):
+ """
+ API version of the identity_required decorator that just makes sure the
+ token is tied to one, not an app only.
+ """
+
+ @wraps(function)
+ def inner(request, *args, **kwargs):
+ # They need an identity
+ if not request.identity:
+ return JsonResponse({"error": "identity_token_required"}, status=400)
+ return function(request, *args, **kwargs)
+
+ return inner