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')