From 9ac2b197f8f3b8e811ed44f568f7507e0cfd46dc Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Mon, 13 May 2024 16:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9C=AA=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B,=20=E6=97=A0=E6=B3=95=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=B8=B8=E6=88=8F=E5=86=85=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/apiauth.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/plugins/apiauth.ts b/src/plugins/apiauth.ts index 8f04018..90c45cb 100644 --- a/src/plugins/apiauth.ts +++ b/src/plugins/apiauth.ts @@ -31,6 +31,16 @@ const apiAuthPlugin: FastifyPluginAsync = async function (fastif }) // 只有路由配置的role为anon才不需要过滤 fastify.decorate('apiAuth', async function (request: FastifyRequest, reply: FastifyReply) { + let activity = new ReadOnlyCache().getData(ACTIVITY_NAME) + if (!activity) { + activity = await ActivityInfo.findById(ACTIVITY_NAME) + if (activity) { + new ReadOnlyCache().setData(ACTIVITY_NAME, activity) + } + } + if (activity) { + request.activity = activity + } if (!request.roles || request.roles.indexOf(ROLE_ANON) == -1 || request.token) { try { if (!request.token) { @@ -46,16 +56,6 @@ const apiAuthPlugin: FastifyPluginAsync = async function (fastif return reply.send({ errcode: 10, errmsg: 'need login' }) } request.user = account - let activity = new ReadOnlyCache().getData(ACTIVITY_NAME) - if (!activity) { - activity = await ActivityInfo.findById(ACTIVITY_NAME) - if (activity) { - new ReadOnlyCache().setData(ACTIVITY_NAME, activity) - } - } - if (activity) { - request.activity = activity - } } catch (err) { return reply.send({ errcode: 401, errmsg: 'need auth' }) }