- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 polka js 实现 protected 路由。我尝试使用中间件来实现它,但即使对于未 protected 路由,我也一直未获得授权。
const polka = require('polka');
const send = require('@polka/send-type');
const app = polka();
app.get('/un-protected', (req, res) => {
return send(res, 200, {
msg: 'Unprotected route',
});
});
const auth = false;
app
.use((req, res, next) => {
if (auth) {
next();
} else {
return send(res, 401, {
errors: {
msg: 'unauthorized',
},
});
}
})
.get('/protected', (req, res) => {
return send(res, 200, {
msg: 'Protected route',
});
});
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
预期的行为是只有“/protected”路由应该显示未经授权的消息,但目前即使对于“/un-protected”路由,未经授权的消息也会不断弹出。
最佳答案
认证检查应该放在指定路由和去 protected 路由的 Action 之间。
app.get('/un-protected', (req, res) => {
return send(res, 200, {
msg: 'Unprotected route',
});
});
const auth = false;
const checkAuth = (req, res, next) => {
if (auth) {
next();
} else {
return send(res, 401, {
errors: {
msg: 'unauthorized',
},
});
}
}
app
.get('/protected', checkAuth, (req, res) => {
return send(res, 200, {
msg: 'Protected route',
});
});
关于node.js - 如何在 polka js 中保护路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56222157/
我是新手。所以请帮助我。我想问一些关于工兵的问题。我必须在 Polka 中创建单独的后端 API(表达任何框架)或者我可以使用相同的 Polka(express) 作为后端?我必须通过同一个 polk
我正在尝试使用 polka js 实现 protected 路由。我尝试使用中间件来实现它,但即使对于未 protected 路由,我也一直未获得授权。 const polka = require('
我正在尝试将我的 sapper/svelte 应用程序部署到 heroku,但收到“错误:找不到模块‘polka’”这个错误。有趣的是,它非常好并且可以正常工作。我的 package.json 是正确
我正在尝试将我的 sapper/svelte 应用程序部署到 heroku,但收到“错误:找不到模块‘polka’”这个错误。有趣的是,它非常好并且可以正常工作。我的 package.json 是正确
我正在尝试从另一个文件导入路由逻辑。在 express js 中,这是可以通过 express.Route() 实现的,当我尝试 polka.Route() 时会弹出一个错误,提示 Route 在 p
我需要设置一个 Polka(或 Express)服务器,以便它可以从单个 server.js 入口点为多个应用程序(每个主机名一个)提供服务。可以使用 vhost 来完成。中间件 ( https://
我正在尝试用 Sapper(sveltejs) 重写我的网站 (Pug+Express)。我是 sveltejs 的初学者,如果我的问题可能真的很幼稚,请原谅。 我有一个 template.json
我是一名优秀的程序员,十分优秀!