From d39d4d3f10ff1d3c208a8c1ca4773884fd1907b1 Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 15 Mar 2023 16:31:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E9=83=A8=E5=88=86jwt=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E9=83=A8=E4=BB=BD=E7=9B=B8=E5=90=8C=E7=9A=84=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/verify.controller.ts | 2 +- src/controllers/wallet.bridge.controller.ts | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/controllers/verify.controller.ts b/src/controllers/verify.controller.ts index 3973e9c..ea64451 100644 --- a/src/controllers/verify.controller.ts +++ b/src/controllers/verify.controller.ts @@ -36,7 +36,7 @@ class VerifyController extends BaseController { if (!k) { throw new ZError(10, 'params mismatch') } - const token = TOKEN_PREFIX + k; + const token = k.indexOf(TOKEN_PREFIX) === -1 ? TOKEN_PREFIX + k : k const reqData = await req.jwtVerify({ extractToken: () => token}) if (!reqData || !reqData.id) { throw new ZError(12, 'token error') diff --git a/src/controllers/wallet.bridge.controller.ts b/src/controllers/wallet.bridge.controller.ts index a5e6a13..583a79c 100644 --- a/src/controllers/wallet.bridge.controller.ts +++ b/src/controllers/wallet.bridge.controller.ts @@ -3,6 +3,8 @@ import {ZError} from "common/ZError"; import {role, router} from "decorators/router"; import {BridgeSvr} from "service/bridge.svr"; +const TOKEN_PREFIX = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.' + class WalletBridgeController extends BaseController { @role('anon') @router('post /bridge/regist') @@ -12,18 +14,20 @@ class WalletBridgeController extends BaseController { throw new ZError(10, 'params mismatch') } const qrId = new BridgeSvr().registClientReq(clientId) - const token = await res.jwtSign({ qrId }) + let token = await res.jwtSign({ qrId }) + token = token.replace(TOKEN_PREFIX, '') return { token } } @role('anon') @router('post /bridge/status') async bridgeStatus(req, res) { - let { webtoken,clientId } = req.params; + let { webtoken, clientId } = req.params; if (!webtoken || !clientId) { throw new ZError(10, 'params mismatch') } - const reqData = await req.jwtVerify({ extractToken: () => webtoken}) + const token = webtoken.indexOf(TOKEN_PREFIX) === -1 ? TOKEN_PREFIX + webtoken : webtoken + const reqData = await req.jwtVerify({ extractToken: () => token}) if (!reqData || !reqData.qrId) { throw new ZError(14, 'token error') } @@ -52,6 +56,7 @@ class WalletBridgeController extends BaseController { if (!webtoken || !key ) { throw new ZError(10, 'params mismatch') } + webtoken = webtoken.indexOf(TOKEN_PREFIX) === -1 ? TOKEN_PREFIX + webtoken : webtoken const reqData = await req.jwtVerify({ extractToken: () => webtoken}) if (!reqData || !reqData.qrId) { throw new ZError(14, 'token error')