feat(auth): 登录态改为滑动续期(后台 24h/7d,打手 7d/30d)

This commit is contained in:
yml2213
2026-10-25 13:28:58 +08:00
parent 81edf530db
commit 2fb7aae13f
31 changed files with 510 additions and 64 deletions
+1 -1
View File
@@ -110,7 +110,7 @@ router.post(
router.get(
'/auth/session',
createJsonHandler((req) => getAdminSessionSummary(extractBearerToken(req)), {
createJsonHandler((req, res) => getAdminSessionSummary(extractBearerToken(req), res), {
successMessage: 'ok',
errorMessage: '读取后台登录态失败',
scope: '[admin/auth/session]',
+2
View File
@@ -5,6 +5,7 @@ import {
} from '../../services/admin/admin-auth-service.js'
import { writeAdminAuditLog } from '../../services/admin/admin-audit-service.js'
import { buildSuccessPayload, createHttpError, sendRouteError } from '../../utils/http.js'
import { setSessionExpiryHeaders } from '../../utils/session-headers.js'
import { logWarn } from '../../utils/logger.js'
import type { AdminSession } from '../../services/admin/admin-auth-service.js'
@@ -63,6 +64,7 @@ export async function requireAdminSession(
): Promise<void> {
try {
req.adminSession = await verifyAdminSessionToken(extractBearerToken(req))
setSessionExpiryHeaders(res, req.adminSession)
next()
} catch (error) {
sendRouteError(res, error, '后台鉴权失败', '[admin/auth]')
@@ -184,7 +184,7 @@ router.post(
router.get(
'/auth/session',
createRouteHandler((req) => getWorkerSessionSummary(extractWorkerBearerToken(req)), {
createRouteHandler((req, res) => getWorkerSessionSummary(extractWorkerBearerToken(req), res), {
successMessage: 'ok',
errorMessage: '读取接单登录态失败',
scope: '[worker/auth/session]',
@@ -6,6 +6,7 @@ import {
type WorkerSession,
} from '../../services/worker-platform/index.js'
import { createHttpError, sendRouteError } from '../../utils/http.js'
import { setSessionExpiryHeaders } from '../../utils/session-headers.js'
export async function requireWorkerSession(
req: Request,
@@ -14,6 +15,7 @@ export async function requireWorkerSession(
): Promise<void> {
try {
req.workerSession = await verifyWorkerSessionToken(extractWorkerBearerToken(req))
setSessionExpiryHeaders(res, req.workerSession)
next()
} catch (error) {
sendRouteError(res, error, '接单端鉴权失败', '[worker/auth]')