From 34c41c52f8685f2c2eaa504109844dfa1195eb53 Mon Sep 17 00:00:00 2001 From: 27942 Date: Wed, 25 Feb 2026 20:12:26 +0800 Subject: [PATCH] haha --- server/api/auth.py | 26 ++++++++++++++++++++++++++ server/urls.py | 1 + 2 files changed, 27 insertions(+) diff --git a/server/api/auth.py b/server/api/auth.py index 7b8ec75..9938c66 100644 --- a/server/api/auth.py +++ b/server/api/auth.py @@ -41,3 +41,29 @@ def login(request): ) return Response({"token": token}) + + +@api_view(["GET"]) +def get_info(request): + """ + 获取当前登录账号的详细信息: + - 从 Authorization 头解析 token + - 查 AuthToken 表反查用户名 + - 返回用户名、登录时间等 + """ + auth_header = request.headers.get("Authorization", "") + token = auth_header.replace("Bearer ", "").strip() if auth_header else "" + + if not token: + return Response({"detail": "未提供认证令牌"}, status=status.HTTP_401_UNAUTHORIZED) + + try: + record = AuthToken.objects.get(token=token) + except AuthToken.DoesNotExist: + return Response({"detail": "令牌无效或已过期"}, status=status.HTTP_401_UNAUTHORIZED) + + return Response({ + "username": record.username, + "token": record.token, + "created_at": record.created_at, + }) diff --git a/server/urls.py b/server/urls.py index bb6e99d..3e0f82b 100644 --- a/server/urls.py +++ b/server/urls.py @@ -12,6 +12,7 @@ urlpatterns = [ # ─── 认证 ─── path("api/auth/login", auth.login), + path("api/auth/get_info", auth.get_info), # ─── Worker ─── path("api/workers", workers.worker_list),