atzcl / z

基于 MidwayJS(EggJS) + TypeScript 的多模块应用 [ NodeJS 版 ]
129 stars 20 forks source link

Middleware/VerifyJwt.ts 中getToken的修改 #18

Closed 618457 closed 4 years ago

618457 commented 4 years ago

/src/app/modules/User/Middleware/VerifyJwt.ts中

const [, token] = getToken.split(" ");  //这里是不是原本想split(".")拿payload?

是否应改为

const token = getToken; 

因为后面

const jwtResult = await ctx.helper.jwt({ secret: entryJwtSecret }).getCustomClaims(token);

getCustomClaims传入的应为token给verfiy第一个参数也是token。 我也只有这么改了才跑的通。

atzcl commented 4 years ago
const [, token] = getToken.split('  ');

这里是没有问题的, 按照规范,jwt token 是通过 authorization header 携带,它的值是这样的

Authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b2xxxxxxxxxxxxxxx

就跟 session id 是通过 cookie header 携带的一样