来自https://github.com/koajs/jwt
app.use(jwt({ secret: 'shared-secret' }));
用于保护后面的路由。
问题:如何仅针对已定义的一组路由指定它,如果没有匹配的路径,则如何重定向到静态html页面。
我当前的代码:
app
.use(indexRouter.routes())
.use(jwt({secret: conf.secret }))
.use(protectedRouter.routes())
.use((ctx: any)=> ctx.body='My html page'); <-- this doesn't work because it is considered a protected route
预期的伪代码:
app.use(indexRouter.routes())
.use(protectedRouter.routes(), jwt({secret: conf.secret }))
.use((ctx: any)=> ctx.body='My html page');
答案 0 :(得分:0)
由于我的受保护路线都在“ api”路线下,因此我这样做是这样的:
.use(indexRouter.routes())
.use(async (ctx: Context, next: () => void) => {
if (ctx.path.substring(0,5) === '/api/'){
await next();
}else{
ctx.body='My html page'
}
})
.use(jwt({secret: conf.secret}))
.use(protectedRouter.routes());